CSDN-Ada助手 2024-05-27 14:26 采纳率: 1.6%
浏览 12

winForm上在.cs中输入代码添加的按扭没有在设计器上显示出来是为什么呢

该问题来自社区帖: https://bbs.csdn.net/topics/618764848.

环境是VS2017

  • 写回答

2条回答 默认 最新

  • 专家-赤兔[在线] 全栈领域优质创作者 2024-05-27 14:26
    关注

    引自免费微信小程序:皆我百晓生

    在Windows Forms应用程序开发中,有时候可能会遇到在.cs文件中添加控件(例如按钮)后,在设计视图中却没有显示的情况。这通常是由于控件的属性设置不正确或者是程序中的某些错误导致的。以下是排查这个问题的一些步骤:

    1. 检查控件实例化: 确保你在代码中已经创建了按钮对象并赋值给一个变量。例如:
    private Button myButton;
    

    然后在构造函数或其他适当的地方初始化它:

    myButton = new Button();
    
    1. 设置位置和大小: 按钮可能未显示是因为它的位置和大小默认为(0, 0)和(0, 0),即在窗体边界之外。你需要设置其Location属性和Size属性:
    myButton.Location = new System.Drawing.Point(50, 50);
    myButton.Size = new System.Drawing.Size(100, 30);
    
    1. 显示按钮: 要使按钮可见,需要将其Visible属性设置为true
    myButton.Visible = true;
    
    1. 添加到容器: 按钮必须添加到窗体或其他容器控件才能显示:
    this.Controls.Add(myButton);
    
    1. 设计时事件处理: 如果你在代码中设置了设计时事件处理程序(如点击事件),请确认这些事件处理方法存在且没有语法错误。

    2. 检查编译器警告和错误: 打开解决方案资源管理器,查看是否有任何编译器警告或错误。如果有,解决它们后再尝试运行项目。

    3. 清除缓存和重新加载设计视图: 有时Visual Studio的设计视图可能会出现问题。关闭设计视图,清理解决方案的临时文件夹,然后再打开设计视图。临时文件夹通常位于%temp%\VisualStudioTemp目录下。

    4. 确保代码是在正确的方法中执行: 确保你的代码是在窗体的构造函数、Load事件或者其他适合的地方执行的。否则,控件可能不会被正确地添加到窗体上。

    5. 重启Visual Studio: 有时候,简单地重启Visual Studio可以解决此类问题。

    将上述代码片段整合在一起,你的代码可能看起来像这样:

    public partial class Form1 : Form
    {
        private Button myButton;
    
        public Form1()
        {
            InitializeComponent();
    
            // 创建按钮
            myButton = new Button();
            // 设置位置和大小
            myButton.Location = new System.Drawing.Point(50, 50);
            myButton.Size = new System.Drawing.Size(100, 30);
            // 设置可见性
            myButton.Visible = true;
            // 添加到窗体
            this.Controls.Add(myButton);
        }
    }
    

    如果你遵循以上步骤还是无法解决问题,那么可能是Visual Studio的问题,尝试更新到最新版本,或者考虑重装。如果你还有其他具体的问题或代码示例,我可以进一步提供帮助。

    评论 编辑记录

报告相同问题?

问题事件

  • 创建了问题 5月27日

悬赏问题

  • ¥15 数据量少可以用MK趋势分析吗
  • ¥15 使用VH6501干扰RTR位,CANoe上显示的错误帧不足32个就进入bus off快慢恢复,为什么?
  • ¥15 大智慧怎么编写一个选股程序
  • ¥100 python 调用 cgps 命令获取 实时位置信息
  • ¥15 两台交换机分别是trunk接口和access接口为何无法通信,通信过程是如何?
  • ¥15 C语言使用vscode编码错误
  • ¥15 用KSV5转成本时,如何不生成那笔中间凭证
  • ¥20 ensp怎么配置让PC1和PC2通讯上
  • ¥50 有没有适合匹配类似图中的运动规律的图像处理算法
  • ¥15 dnat基础问题,本机发出,别人返回的包,不能命中