WPF——菜單欄及TabControl


一、先造一個窗體,然后在窗體里面增加菜單欄及原始的TabControl選項卡

 <Grid>
        <Menu>
            <MenuItem Header="文件" Click="MenuItem_Click_3"> 
                <MenuItem Header="打開新窗口" Click="MenuItem_Click_1"></MenuItem>
                <MenuItem Header="退出" Click="MenuItem_Click_4"  ></MenuItem>
            </MenuItem>
            <MenuItem Header="幫助">
                <MenuItem Header="關於我們"></MenuItem>
            </MenuItem>           
        </Menu>
        <TabControl Name="TabControl1" HorizontalAlignment="Left" Height="337" Margin="0,20,0,0" VerticalAlignment="Top" Width="572">
            <TabItem Header="原始窗口">
                <Grid Background="#FFE5E5E5">
                    <TextBox HorizontalAlignment="Left"  Height="305" Margin="0" TextWrapping="Wrap" Text="" VerticalAlignment="Top" Width="562"/>
                    
                    
                </Grid>
            </TabItem>         
        </TabControl>

    </Grid>

二、當點擊打開新窗口,便彈出新窗口,並且在新窗口里增加一個占滿的文本框

 public partial class MainWindow : Window
    {
        public MainWindow()
        {
            InitializeComponent();
        }
        private int i = 0;//定義一個i用來使新造的Item名字不同
        TextBox t;//每造一個新Item 然后將Textbox扔進去
        private void MenuItem_Click_1(object sender, RoutedEventArgs e) //打開新窗口按鈕
        {
             TabItem ti = new TabItem();//造一個新選項卡
             ti.Header = "新窗口"+(i+1);//新選項卡的名字
             TabControl1.Items.Add(ti);//將造好的新選項卡扔進TabControl1里
             t = new TextBox();//實體化一個新文本框
             t.Width = 562;
             t.Height = 305;
            //下面開始將文本框添加到新造的選項卡中
             ti.Content = t;
            //每造一個新窗口便默認突出顯示為新窗口
             TabControl1.SelectedIndex = i+1;
       //TabControl1.SelectedIndex = TabControl1.Items.Count - 1; i
++;
       //雙擊每個選項卡觸發的事件
       ti.MouseDoubleClick+=ti_MouseDoubleClick; }
private void MenuItem_Click_4(object sender, RoutedEventArgs e)//關閉按鈕 { this.Close(); }     

      private void ti_MouseDoubleClick(object sender, MouseButtonEventArgs e)
      {
      TabItem s = (TabItem)sender; //sender代表每個選項卡
      TabControl1.Items.Remove(s);
      }

private void MenuItem_Click_3(object sender, RoutedEventArgs e)
        {

        }
    }


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM