充其量,我是一个 UI 新手,但我是一个相当优秀的 OO 开发人员(如果我自己不这么说的话)。我对如何与设计师合作感到困惑。我正在开发一个 Windows 窗体应用程序。我有一个源自 System.Windows.Forms.TabPage
的控件(TabPage)我想将其放在 System.Windows.Forms.TabControl
上控制。
public class MyTabPage : TabPage
{ ... }
我不知道如何让设计者使用我的控件。
一位开发人员同事帮我查看了此内容,并建议我添加更多信息。
我已经制作了一个 WinForms 应用程序的原型(prototype)。该应用程序有 TabControl
,上面有三个标签页。每个TabPage
有一个SplitterControl
与 DataGridView
控制分配器的每一半。两个DataGridView
控件形成我们需要编辑的一些数据的主从 View 。我向每个 DataGridView 控件添加了一堆事件处理程序,并且每次将处理程序代码放入表单中时。该表单变得非常拥挤,希望使用面向对象技术来清理内容。
我现在想重做原型(prototype),因为每个 TabPage
行为上是相同的,我想使用面向对象来抽象掉一些复杂性。这就是我缺乏设计器经验的原因。必须有一种方法可以使用设计器来完成比我的原始原型(prototype)更复杂的事情。
最佳答案
您并没有真正改变 TabPage 的行为,它毕竟只是一个容器:)。 TabPage 和 TabControl 的耦合相当紧密,而且它们可能应该如此。您的“控件”应该放置在 TabPage 上。因此,将您的用户控件定义为带有拆分器和两个数据 GridView 的面板,然后将您的用户控件放在应用程序中的每个 TabPage 上。选项卡控件/页面串联仍将自动工作,并且您的自定义代码将位于适当的控件中。
关于winforms - 如何在 Windows 窗体应用程序中使用派生控件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4246619/