zoukankan      html  css  js  c++  java
  • WPF 中动态创建和删除控件

    动态创建控件

    1.容器控件.RegisterName("Name",要注册的控件)   //注册控件

    2.容器控件.FindName("Name") as  控件类型            //找到控件并转换成相应类型

    注意:仅通过 控件.Name来设置是不能通过FindName来找到控件的,必须注册
    动态删除控件
    1.容器控件.Children.Remove(控件)                           //移除控件

    2.容器控件.UnregisterName("Name")                       //取消注册

    其它设置

    1.控件.SetValue(Grid.RowProperty, 0);                    //设置控件在Grid面板中的行数
       控件.SetValue(Grid.ColumnProperty, 1);               //设置控件在Grid面板中的列数

    2.Canvas.SetLeft("控件名", 50);                                //设置控件在Canvas面板中的横坐标
       Canvas.SetTop("控件名", 50);                                //设置控件在Canvas面板中的纵坐标

    eg:

    当点击Button_Add按钮的时候在Canvas里添加一个Button;

    当点击Button_Remove的时候把这个新加的Button移除;

    设:Canvas 的Name为 canvas

    private void Button_Add_Click(object sender, System.Windows.RoutedEventArgs e)  
            {  
                Button btn = new Button();  
                //btn.Name = "newButton";//这里设置的Name是找不到的   
                btn.Width = 100;  
                btn.Height= 50;  
                canvas.Children.Add(btn);  
                canvas.RegisterName("newButton", btn);//注册名字,以便以后使用   
            }  
      
    private void Button_Remove_Click(object sender, RoutedEventArgs e)  
            {  
                Button btn = canvas.FindName("newButton") as Button;//找到刚新添加的按钮   
                if (btn != null)//判断是否找到,以免在未添加前就误点了   
                {  
                    canvas.Children.Remove(btn);//移除对应按钮控件   
                    canvas.UnregisterName("newButton");//还需要把对用的名字注销掉,否则再次点击Button_Add会报错   
             }  
  • 相关阅读:
    _bzoj1061 [Noi2008]志愿者招募【最小费用最大流】
    _bzoj2243 [SDOI2011]染色【树链剖分】
    _bzoj1013 [JSOI2008]球形空间产生器sphere【高斯消元】
    _bzoj1002 [FJOI2007]轮状病毒【瞎搞】
    leetcode 273 Integer to English Words
    leetcode 12 Integer to Roman
    leetcode 1071 Greatest Common Divisor of Strings
    lc6 ZigZag Conversion
    lc13 Roman to Integer
    leetcode 171 Excel Sheet Column Number
  • 原文地址:https://www.cnblogs.com/nimorl/p/12186602.html
Copyright © 2011-2022 走看看