• winform代码定义的控件无法显示


    常规为winform框架添加控件的方式(最简单的方式)是通过Visual Studio图形界面直接拖拽控件至窗体中。

    本次通过代码的方式写了个Panel和Label,意图显示出来:

    1 Label label0 = new Label();
    2 label0.Location = new Point(100, 100);
    3 label0.Size = new Size(100, 5);
    4 label0.BackColor = Color.Red;
    5 label0.Show();

    运行测试发现,控件并未如所想,界面并未看见该label10控件。

    查询资料,未显示的原因在于没给控件对象设Parent属性。

    页面所有的窗口(包括所有的子窗口以及容器窗口),以组合模式的形式保存在window对象中。绘图过程中,遍历window内部保存的所有窗口依次绘图。

    因此,未设置parent父窗口的控件对象无法被遍历到,从而不会绘图显示出来。

    为了解决这个问题,正确的设置方式如下。

    1 Label label0 = new Label();
    2 label0.Location = new Point(100, 100);
    3 label0.Size = new Size(100, 5);
    4 label0.BackColor = Color.Red;
    5 label0.Parent = this; //或其他已添加至window组合中的容器窗口
    6 label0.Show();
  • 相关阅读:
    斯坦福大学Andrew Ng
    斯坦福大学Andrew Ng
    斯坦福大学Andrew Ng
    斯坦福大学Andrew Ng
    学到即赚到
    matlab学习笔记之五种常见的图形绘制功能
    Flutter混合栈的管理
    Android调用系统拍照裁剪和选图功能
    Android DataBinding库(MVVM设计模式)
    Flutter 动画使用
  • 原文地址:https://www.cnblogs.com/xinxinBlog/p/5697875.html
Copyright © 2020-2023  润新知