C# 面板对接问题

标签 c# winforms panel docking

Windows 窗体项目,仅在设计器中工作(即在编译之前使用鼠标)。我有一个表格和 2 个面板。 panel1 停靠在 form1 中(选项 - 填充)。 panel2 也停靠(填充)在 form1 中。此外,panel2 在 panel1 的前面(后者隐藏在前者的后面)。我的问题是 - 当我取消停靠 panel2 并再次停靠它时 - 它停靠在 panel1(panel1 成为它的父级)而不是 form1。如何更改 panel2 的父级?

到目前为止,我想出的唯一解决方案是剪切 (ctrl+x) panel2,选择 form1,然后粘贴 (ctrl+v) panel2,但是出于某种原因,这会删除 panel2 控件和代码之间的所有连接(对于例如,尽管处理事件的函数仍然存在,但单击 panel2 上的按钮不再起作用。

有什么更好的主意吗?

最佳答案

将控件剪切到剪贴板会切断事件处理程序,因此最好远离设计器中的剪切和粘贴。

由于您使用的是设计器,因此请从 Visual Studio 的 View - Other Windows 菜单中打开 Document Outline 面板。使用箭头按钮正确设置控件的父级或停靠顺序。

文档大纲窗口看起来像这样:

enter image description here

关于C# 面板对接问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10835394/

相关文章:

c# - WPF 绑定(bind)不更新按钮内容

c# - 正常关闭和当前正在处理的请求

C# 和 SQL 选择

c# - 替换富文本框中的所有文本

c# - 确定 BLOB 列的大小

windows - Windows窗体图片框中图片的过渡

panel - Acumatica Smart Panel 打开时不显示数据

python - 如何在 Django 中创建自定义管理配置面板?

asp.net - 如何在 ASP.NET 中设置嵌套面板控件的样式

.net - 在winform中绘制水平分隔线