【问题标题】:PictureBox not loading and displaying to the formPictureBox 未加载并显示到表单
【发布时间】:2017-10-18 02:49:50
【问题描述】:

我不明白为什么这没有在表单中显示新的 PictureBox:

private void Form1_Load(object sender, EventArgs e)
        {
            generateTable();
        }
        public void generateTable()
        {
            //setting up the background tiles
            PictureBox setup = new PictureBox();
            setup.Width = 100;
            setup.Height = 100;
            setup.Location  = new Point(100,100);
            setup.Image = new Bitmap(Application.StartupPath+@"\BlankArea.png");
            setup.Visible = true;
            this.Controls.Add(setup);
        }

它确实找到了图像(用另一个图片框测试)。

【问题讨论】:

  • 代码是否可以通过调试器进行单步调试?
  • 是的,代码运行得很好,但是图片框没有显示在表单上。
  • 很不清楚为什么您不只是与设计器一起添加 PB。在同一位置被另一个控件覆盖是典型的事故。而this mishap 也很常见。
  • 尝试:setup.BringToFront();,设置边框并在调试器中查看控件的属性!

标签: c# picturebox


【解决方案1】:

如果你通过 VisualStudio 运行 applocation,你的图像 BlankArea.png 会保存在你的 exe 项目的 bin\Debug 文件夹中。

你的代码对我有用。

【讨论】:

    【解决方案2】:

    您确定 Form1_Load 事件回调是通过 Designer 绑定到 Form1 的吗?

    另外,您是否检查过您的图像是否正常?尝试将“设置”的背景颜色设置为醒目的颜色——比如红色。

    【讨论】:

      【解决方案3】:

      正如@TaW 所建议的,本地答案是正在创建图片框并将其添加到表单本身的后面。使用以下代码非常适合我!

      //Apply the correct icon
      if (icon != MessageBoxIcon.None)
      {
          PictureBox pbIcon = new PictureBox();
      
          pbIcon.SizeMode = PictureBoxSizeMode.AutoSize;
          switch (icon)
          {
              case MessageBoxIcon.Asterisk:
                  pbIcon.Image = SystemIcons.Asterisk.ToBitmap();
                  break;
              case MessageBoxIcon.Question:
                  pbIcon.Image = SystemIcons.Question.ToBitmap();
                  break;
          }
          pbIcon.Location = new Point(0, 0);
      
          this.Controls.Add(pbIcon);
          pbIcon.BringToFront();
      }
      

      在这种情况下,icon 是...

      MessageBoxIcon icon = MessageBoxIcon.Question;
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2015-08-17
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-09-21
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多