gpt4 book ai didi

c# - 以编程方式将控件添加到 TabPage

转载 作者:行者123 更新时间:2023-12-02 08:41:05 24 4
gpt4 key购买 nike

所有,我想向 WinForm TabPage 添加自定义 RichTextBox。我尝试了下面代码所示的各种方法

TabPage tmpTabPage = new TabPage("Test");
tabControl1.TabPages.Add(tmpTabPage);

CustomRichTextBox tmpRichTextBox = new CustomRichTextBox();
tmpRichTextBox.LoadFile(@"F:\aaData\IPACostData\R14TData\ACT0\1CALAEOSAudit_log.rtxt");

// Attempted FIX.
tabControl1.SuspendLayout();
tabControl1.TabPages["Test"].Controls.Add(tmpRichTextBox); // This throws a NullReferenceException??
tabControl1.ResumeLayout();

tmpRichTextBox.Parent = this.tabControl1.TabPages["test"];

tmpRichTextBox.WordWrap = tmpRichTextBox.DetectUrls = false;
tmpRichTextBox.Font = new Font("Consolas", 7.8f);

tmpRichTextBox.Dock = DockStyle.Fill;
tmpRichTextBox.BringToFront();

在我添加“aAttempted FIX”之前,代码将毫无异常地运行,但 CustomRichTextBox 不会出现。现在我得到了 NullReferenceException 并且我对这两种情况感到困惑。我在这里做错了什么?

最佳答案

您真正缺少的是为 TabPage 变量设置“Name”属性。您传递给 TabPage 构造函数的字符串仅设置 TabPage.Text 属性。

只需在实例化 TabPage 后添加以下代码即可:

TabPage tmpTabPage = new TabPage("Test");
tmpTabPage.Name = "Test"
// Rest of your code here

您收到 NullReferenceException 的原因是因为以下代码:

tabControl1.TabPages["Test"]

未返回对 TabPage 的引用,因为未设置 TabPage 的“Name”属性。

关于c# - 以编程方式将控件添加到 TabPage,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10656629/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com