none
以下实现点击增加datagridview单元格增加tabControl添加选项卡功能if判断如果当前已有该名称的选项卡,则选中该选项卡,else里面代码该怎么写呢 RRS feed

  • 问题

  • 以下实现点击增加datagridview单元格增加tabControl添加选项卡功能if判断如果当前已有该名称的选项卡,则选中该选项卡,else里面代码该怎么写呢。!!
    
    
    
    private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)
    
     {
    
     if(dataGridView1.SelectedCells[0].Value.ToString() != "")
    
     {
    
     string title = dataGridView1.SelectedCells[0].Value.ToString();
    
     //bool b = tabControl1.TabPages.Contains(tap);
    
     //判断选项卡集合中是否已经包括该选项卡,如果包含则选中该选项卡
    
     if (!tabControl1.TabPages.ContainsKey(title)) {
    
     TabPage tap = new TabPage();
    
     tap.Name = title;
    
     tap.Text = title;
    
    //在tabControl中添加选项卡
    
     tabControl1.TabPages.Add(tap);
    
     tabControl1.SelectedTab = tap;
    
     //得到选定的报表名称
    
     string biaoti = dataGridView1.SelectedCells[0].Value.ToString();
    
     //调用GetBaobiaolistByBiaoti方法查询出该名称的报表
    
     string lj1 = BaobiaolistBLL.GetBaobiaolistByBiaoti(biaoti).Lujing.ToString();
    
     //实例化一个gridview
    
     DataGridView dgv = new DataGridView();
    
     dgv.Size = new Size(937, 442);
    
     //dgv.Columns[0].Width = 20;
    
     string lj2 = AppDomain.CurrentDomain.BaseDirectory + lj1;
    
     //绑定数据源
    
     dgv.DataSource = Fill(lj2);
    
     tap.Controls.Add(dgv);
    
     //MessageBox.Show(tap.Name);
    
     }
     //如果已有该选项卡,则选中该选项卡
     else 
     {
     这里面的代码应该怎么写
     //tabControl1.SelectedTab =tap;
     }
     }
     }
    
    
    2010年4月27日 10:45

答案

  • 你好,

    由于你已经创建了一个 "tap”,而且设置了它的name属性。 那么你下次想选择这个page时,你可以通过 name 来选择相应的tabpage。

    如:
      tabControl1.SelectedTab = tabControl1.TabPages["tabpage2"];

    在你的程序中,

    if (!tabControl1.TabPages.ContainsKey(title)) {
     TabPage tap = new TabPage();

     tap.Name = title;

     tap.Text = title;

    //在tabControl中添加选项卡

     tabControl1.TabPages.Add(tap);

     tabControl1.SelectedTab = tap;

    。。。。。。。。

    }
    //如果已有该选项卡,则选中该选项卡
     else
     {
     这里面的代码应该怎么写
     tabControl1.SelectedTab = tabControl1.TabPages[title];
     }


    Please remember to click “Mark as Answer” on the post that helps you, and to click “Unmark as Answer” if a marked post does not actually answer your question. This can be beneficial to other community members reading the thread.
    • 已标记为答案 chaoc 2010年4月29日 4:13
    2010年4月29日 3:10
    版主

全部回复

  • 你好!

         请问你具体遇到了什么问题?


    周雪峰
    2010年4月27日 11:27
    版主
  • 你好 如果沒有則創建一個選項卡

    tabControl1.TabPages.Add(title,title);

    添加這個選項卡后 再獲取 然後在其中添加你需要的控件


    I see you~http://hi.baidu.com/1987raymondMy Blog~~~
    2010年4月28日 1:58
    版主
  • 你好,

    由于你已经创建了一个 "tap”,而且设置了它的name属性。 那么你下次想选择这个page时,你可以通过 name 来选择相应的tabpage。

    如:
      tabControl1.SelectedTab = tabControl1.TabPages["tabpage2"];

    在你的程序中,

    if (!tabControl1.TabPages.ContainsKey(title)) {
     TabPage tap = new TabPage();

     tap.Name = title;

     tap.Text = title;

    //在tabControl中添加选项卡

     tabControl1.TabPages.Add(tap);

     tabControl1.SelectedTab = tap;

    。。。。。。。。

    }
    //如果已有该选项卡,则选中该选项卡
     else
     {
     这里面的代码应该怎么写
     tabControl1.SelectedTab = tabControl1.TabPages[title];
     }


    Please remember to click “Mark as Answer” on the post that helps you, and to click “Unmark as Answer” if a marked post does not actually answer your question. This can be beneficial to other community members reading the thread.
    • 已标记为答案 chaoc 2010年4月29日 4:13
    2010年4月29日 3:10
    版主
  • 谢谢楼上!
    2010年4月29日 4:13