【问题标题】:C# dynamically add text to tabcontrolC#动态添加文本到tabcontrol
【发布时间】:2009-07-17 08:59:28
【问题描述】:

在 C# 上有一个小问题,对这门语言还是很陌生,但希望你能提供帮助。我有一个动态创建选项卡表单的程序,然后我尝试将控件添加到选项卡表单(文本框和标签),但无论我尝试什么,它似乎都不想工作。这是我目前正在使用的代码(只是为了在每个表单中获取一个文本框):

int i = dogresults;
while (i > 0)
{
    i--;
    DataRow dogrow = ds1.Tables["confirmdogs"].Rows[i];
    string dogname = dogrow.ItemArray.GetValue(3).ToString();
    TabPage newpage = new TabPage(dogname);
    tcNewCustomer.TabPages.Add(dogname);

    TextBox tb1 = new TextBox();
    tb1.Location = new Point(20, 10);
    newpage.Controls.Add(tb1);
    tb1.Name = "txtDogNo" + i;
}

任何帮助将不胜感激!

【问题讨论】:

  • 请查看我的答案的编辑 - 这是一个简单的小错字:)

标签: c# winforms controls textbox


【解决方案1】:

编辑:Doh!明白了!

您没有添加正在创建的新 TabPage。这一行:

tcNewCustomer.TabPages.Add(dogname);

应该是这样的:

tcNewCustomer.TabPages.Add(newpage);

(一个小型​​测试应用显示第一个版本创建的标签页没有任何文本框,但第二个版本工作正常。)


一目了然(虽然我没有尝试过 - 一个简短但完整的演示程序会有所帮助)。当你说它“似乎不想工作”时——到底发生了什么?

您是否尝试过将位置向下移动一点?我知道有些控件的逻辑“顶部”位置很奇怪(即它不是第一个可见像素)。

【讨论】:

  • 我猜你猜,它根本不可见。尝试在定位点内移动 x,y 坐标,但仍然没有。
  • 好的,我会尝试重现它。
  • 天哪,这是多么愚蠢的错误!非常感谢:)
【解决方案2】:

如何在文本框中设置文本?目前您只是在设置名称...

虽然我仍然希望您看到框上的边框+背景颜色,假设它与标签页背景不同。

【讨论】:

  • 刚刚试了一下,还是看不到
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多