110,561
社区成员
发帖
与我相关
我的任务
分享
private void btn_add_Click(object sender, EventArgs e)
{
/* bool have = false;
if (tabControl1.SelectedTab.Name.Contains("信道") == true)
{
TreeNode tn = treeView1.SelectedNode.Parent;
if(tn.Nodes.Count==1)
{}
else
{
for (int i = 0; i < tn.Nodes.Count; i++)
{
if (tn.Nodes[i].Name == ("信道" + 1))
{
have = true;
break;
}
else
{ }
}
}
*/
//这一段注释起来的代码把我给绕晕了,我想着用for判断命名是否重复,后来反应过来这特么只能判断一个名字
if (tabControl1.SelectedTab.Name.Contains("信道")==true)
{
TreeNode tn = treeView1.SelectedNode.Parent;
FormChannel channel = new FormChannel(dataApplication, pagei);
Addchannel(channel);
tn.Nodes.Add("信道" + (pagei + 1));
pagei++;
}
//这一段就是很蠢的增加子节点的方法。。。
}
string NewNode = "";
int number = 1;
int pagei=1;//这个变量具体干啥用的一时半会儿想不起来了
private void btn_add_Click(object sender, EventArgs e)//添加节点和tabpage
{
bool include=false;
bool file = true;
TreeNode tn = treeView1.SelectedNode.Parent;
List <string> name=new List<string>();
List<string>channelname=new List<string>();
for (int i = 0; i < tn.Nodes.Count; i++)//先把子节点的text全添加到name集合里
{
name.Add(tn.Nodes[i].Text);
}
for (int j = 0; j < tn.Nodes.Count; j++)//将name集合里符合标准命名“信道j”的字符串筛选出来添加到channelname集合里
{
if (name.Contains("信道" + (j + 1)))
{ channelname.Add(tn.Nodes[j].Text); }
}
while(file)//
{
for(int k=0;k<tn.Nodes.Count;k++)//判断字符串““信道”+number”是否在被使用
{
if (tn.Nodes[k].Text == "信道" + number)
{
include = true;
break;//是则直接跳出for循环
}
else
{ include = false; }
}
if (include)
{
number++;
if (number > tn.Nodes.Count + 1)//这个if是为了防止无限循环,从逻辑上讲几乎不可能发生true的情况
{ file = false; }
}
else
{
NewNode = "信道" + number;//把新节点名赋值
file = false;
}
}
FormChannel channel = new FormChannel(dataApplication, pagei);
Addchannel(channel);
tn.Nodes.Add(NewNode);
pagei++;
public TabPage Addchannel(FormChannel form)//添加tabpage和窗体
{
form.TopLevel = false;
form.Dock = DockStyle.Fill;
form.FormBorderStyle = FormBorderStyle.None;
TabPage page = new TabPage();
page.Controls.Add(form);
form.Visible = true;
page.Text = NewNode;
page.Name = "信道" + (pagei + 1);
this.tabControl1.Controls.Add(page);
return page;
}
private void btn_delet_Click(object sender, EventArgs e)//删除节点tabpage
{
TreeNode stnp = treeView1.SelectedNode.Parent;
TreeNode stn = treeView1.SelectedNode;
if (stnp.Nodes.Count > 1)
{
for (int i = 0; i < stnp.Nodes.Count; i++)
{
if (stnp.Nodes[i].Text == tabControl1.SelectedTab.Name)
{ stn = stnp.Nodes[i]; }
else
{ }
}
tabControl1.TabPages.Remove(tabControl1.SelectedTab);//删除tabpage
stnp.Nodes.Remove(stn);//同时删除对应的节点
pagei--;
number = 1;//在这里把number复位为1才能使添加操作能够正常进行
}
else
{ }
}