【问题标题】:Controls inside inherited form not showing up继承表单内的控件未显示
【发布时间】:2013-06-16 15:10:39
【问题描述】:

我创建了一个基本表单用作模板。它继承 System.Windows.Forms.Form。我添加了一个Label控件进行测试,它自动生成了如下代码:

Friend WithEvents Label1 As System.Windows.Forms.Label

Private Sub InitializeComponent()
    Me.Label1 = New System.Windows.Forms.Label
    Me.SuspendLayout()
    '
    'Label1
    '
    Me.Label1.AutoSize = True
    Me.Label1.Location = New System.Drawing.Point(12, 9)
    Me.Label1.Name = "Label1"
    Me.Label1.Size = New System.Drawing.Size(39, 13)
    Me.Label1.TabIndex = 0
    Me.Label1.Text = "Label1"
    '
    'FormPanel
    '
    Me.ClientSize = New System.Drawing.Size(284, 262)
    Me.Controls.Add(Me.Label1)
    Me.Name = "FormPanel"
    Me.ResumeLayout(False)
    Me.PerformLayout()

End Sub

我想创建一些继承此基本表单的表单。在解决方案资源管理器中,我添加了一个新项目,选择“继承表单”类型。然后我选择我的基本形式。

它可以很好地创建表单,但其中的控件根本不会显示在设计器中。我已经尝试在每一步之间重建项目,不行。

知道为什么他们没有出现吗?

【问题讨论】:

  • 你是如何制作模板的?设计好要用作模板的表单后,转到“文件”菜单并选择“导出模板”。向导完成后,您可以将表单作为新项目、控件和属性值加载。我已经使用这种方法制作了几个模板和项目,并且控件总是显示出来。

标签: c# vb.net visual-studio visual-studio-2008


【解决方案1】:

我试过你描述的,我没有看到同样的问题。我继承的表单显示了基本表单的标签控件。我确定我做的事情略有不同 - 我插入了一个新的“继承表单”,基于基本表单,进行了零更改,但标签控件出现了,所以它必须与基本表单相关形式。在您的帖子中唯一让我印象深刻的是,我为基本表单自动生成的代码包括 AutoScaleDimensions、AutoScaleMode、ClientSize 和 Text 属性的设置。另外,我使用的是 Visual Studio 2013。

您能否发布更多基本表单的详细信息?

【讨论】:

    【解决方案2】:

    我自己想出来的!我实际上不得不锁定模板表单中的控件。对于任何搜索可能找到此内容的人.. 只需在表单内的控件上将“Locked”属性设置为 true。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-05-04
      • 1970-01-01
      • 1970-01-01
      • 2010-11-25
      • 1970-01-01
      • 2010-12-17
      • 1970-01-01
      • 2017-04-07
      相关资源
      最近更新 更多