【问题标题】:Add new label and numericupdown while program running在程序运行时添加新标签和 numericupdown
【发布时间】:2017-07-03 06:59:42
【问题描述】:

我的 Windows 窗体应用程序中有一个文本框和一个按钮。当用户按下按钮时,文本框中的文本将作为标签添加到组框,并添加一个 numericupdown。我想给他们一个文本:Label - NumUpDown。

问题是当按下按钮时,标签和 numupdown 添加到同一位置,因此我看不到其中之一。在 Python 中,有一个网格选项,它允许我将对象与列和行一起放置。

另外,我想无限地制作它 - 至少不止一个 - 但在第一次添加之后,我无法添加新的。我该如何解决这些问题?

【问题讨论】:

  • 在动态创建控件时,您可以将 x 和 y 值设置为您希望控件(标签和 numupdown)位于组框内的位置
  • 如果您想要一个网格,您可以使用具有 2 列的表格布局面板并在需要时添加一行

标签: c# button textbox windows-forms-designer


【解决方案1】:

我建议执行以下操作:

  • 创建一个UserControl,其中包含LabelNumUpDown
  • FlowLayoutPanel 添加到GroupBox
  • FlowDirection 设置为TopDown
  • WrapContents 设置为false
  • AutoScroll 设置为true
  • UserControl 的实例添加到FlowLayoutPanel

【讨论】:

    【解决方案2】:
    tableLayoutPanel1.Controls.Add(new Label() { Text = (textbox1.Text).ToString()}, 0, 0);
    tableLayoutPanel1.Controls.Add(new NumericUpDown() { Width = 50, Value = 1 }, 1, 0);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-01-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-11-07
      • 1970-01-01
      • 2018-07-03
      相关资源
      最近更新 更多