gpt4 book ai didi

c# - 在 C# 运行时添加和删除标签页

转载 作者:太空宇宙 更新时间:2023-11-03 20:46:15 25 4
gpt4 key购买 nike

我有一个程序,我希望每个人都有自己的选项卡,每个选项卡都是相同的,但是如果需要,我想删除一个选项卡。

private void addPerson(string name)
{
TabPage tmp = new TabPage();
ListView tmpList = new ListView();
Button tmpButton = new Button();
this.SuspendLayout();
this.tabFrame.SuspendLayout();
tmp.SuspendLayout();
tmpList.SuspendLayout();
tmpButton.SuspendLayout();
...
//build the controll itself
tmp.Controls.Add(tmpButton);
tmp.Controls.Add(tmpList);
tmp.Location = new System.Drawing.Point(4, 22);
tmp.Name = name.Replace(' ', '_');
tmp.Padding = new System.Windows.Forms.Padding(3);
tmp.Size = new System.Drawing.Size(284, 240);
tmp.TabIndex = 3;
tmp.Text = name;
tmp.UseVisualStyleBackColor = true;
//add it to frame
this.tabFrame.Controls.Add(tmp);
tmpButton.ResumeLayout(true);
tmpList.ResumeLayout(true);
tmp.ResumeLayout(true);
this.tabFrame.ResumeLayout(true);
this.ResumeLayout(true);
{

姓名将采用“Scott Chamberlain”形式,因此我删除了空格并在姓名字段中使用了下划线。我可以很好地添加标签,它们显示格式正确,但是当我尝试使用代码删除标签时:

private void removePerson(string name)
{
this.SuspendLayout();
this.tabFrame.SuspendLayout();
this.tabFrame.Controls.RemoveByKey(name.Replace(' ', '_'));
this.tabFrame.ResumeLayout(true);
this.ResumeLayout(true);
}

该选项卡没有从我的程序中消失。我缺少什么来删除标签?

最佳答案

alt text
(来源:codinghorror.com)

使用特定的 Name 创建一个简单的 TabPage 并将其添加到 ControlsTabPages 工作,也是如此在 ControlsTabPages 上使用 RemoveByKey 将其删除。

是否有任何代码可以稍后更改名称?

关于c# - 在 C# 运行时添加和删除标签页,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/789938/

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