winforms C# form在面板中剪切控件并粘贴,控件代码不工作

23c0lvtd  于 2023-05-18  发布在  C#
关注(0)|答案(2)|浏览(235)

步骤1:创建C# Windows窗体应用程序项目
步骤2:在窗体中添加一个按钮、标签控件和一个面板,按钮和标签在面板之外:

第三步:双击Button控件并添加以下代码:

private void button1_Click(object sender, EventArgs e)
{
    if (label1.Visible == true)
    { 
        label1.Visible = false;  
    }
    else
    { 
        label1.Visible = true;   
    }
}

第4步:运行应用程序,点击button 1-> label 1消失。
第5步:停止应用程序,返回表单设计。剪切按钮控件并粘贴到面板中(不绘制拖放):

第6步:再次运行应用程序,点击按钮,代码不起作用。
为什么按钮控制代码不起作用?如何在不重新编码的情况下修复它?

cbeh67ev

cbeh67ev1#

在控件和事件处理程序方法之间创建了一个链接。剪切控件时,实际上是删除了它,这样链接就被删除了。粘贴控件时,链接不会自动重新创建,因为没有理由这样做。如果您想要恢复链接,您需要自己重新创建它。为此,选择控件,打开 Properties 窗口,单击 Events 按钮,然后从相应事件的下拉列表中选择现有方法。
一个更好的解决方案是不要在第一时间剪切和粘贴。相反,拖放。当您这样做时,控件永远不会被删除,因此事件处理程序注册也永远不会被删除。请注意,您还可以使用 * 文档大纲 * 窗口将子控件移入或移出容器。您可能仍然需要通过拖放或在 * 属性 * 窗口中调整它们的位置。
顺便说一句,如果你想看到剪切和粘贴操作前后的区别,只要打开表单的设计器代码文件即可。作为测试,向窗体中添加两个Button控件并双击每个控件以创建Click事件处理程序。剪切其中一个控件,然后再次粘贴,然后查看每个控件的设计器代码。您将能够看到一个事件处理程序的注册,而另一个事件处理程序缺少了。

ctzwtxfj

ctzwtxfj2#

也许你有一个按钮,你的功能不工作请分享代码

相关问题