C# 动态创建控件时注册Name属性

动态创建控件

1bf736c4e2e9867f641b5034aef1f358.png

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

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

注意

仅通过控件.Name来设置是不能通过FindName来找到控件的,必须注册

动态删除控件

28c44e651e659ed2febecbceca55f689.png

1. 容器控件 .Children.Remove(控件) //移除控件

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

其它设置

1b9977c36cc437a33ace3ac5ca9ec44f.png

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 移除;

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会报错   }  }

注意

1、如果想在后台想通过 .FindName("") 找到新创建的控件,必须使用 .RegisterName("名字",控件);

2、如果想在后台使用 控件的Name属性,必须在创建时给它设置 控件.Name 的值;

往期推荐

·  C# 数据流

·  C# 类型系统

·  C# 面向对象的编程

·  C# 执行 SQL 语句

·  C# 连接数据库

·  C# 迭代器

7b90246404ffa751d6f5301a8dc0bcc2.png

Love life,love yourself

关注小编不迷路呦~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/292145.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

3-07. 求前缀表达式的值(25) (ZJU_PAT数学)

题目链接:http://pat.zju.edu.cn/contests/ds/3-07 算术表达式有前缀表示法、中缀表示法和后缀表示法等形式。前缀表达式指二元运算符位于两个运算数之前,比如23*(7-4)8/4的前缀表达式是: 2 * 3 - 7 4 / 8 4。请设计程序计算前缀表达式的结果…

linux之文件类型

1 、纯文本文件 这是Unix系统中最多的一种文件类型,之所以称为纯文本文件,是因为内容为我们可以直接读到的数据,例如数字、字母等等。设 置文件几乎都属于这种文件类型。举例来说,使用命令“cat ~/.bashrc”就可以看到该文件的内容 2、二进制文件 我们在GNU发展史中提过,…

java配置运行环境和配置

2019独角兽企业重金招聘Python工程师标准>>> 1:准备好下载的java。开始安装 2:第一次蹦出安装路径设置为(D:\java\jdk)。不要设置下图样式设置路径! 3:jdk安装完成后会再弹出如下窗口,让你选择独立的jre的安…

SQL Server 的锁定和阻塞

本帖提供两种做法,可避免在 SQL Server 事务锁定时产生的不正常或长时间阻塞,让用户和程序也无限期等待,甚至引起 connection pooling 连接数超过容量。 所谓的「阻塞」,是指当一个数据库会话中的事务,正在锁定其他会话…

结构体数组排列_学习RTOS(3)数据结构

在 FreeRTOS 中存在着大量的基础数据结构列表和列表项的操作,列表和列表项是直接从 FreeRTOS 源码注释中的 list 和 list item 翻译过来的,其实就是对应我们 C 语言当中的链表和节点,在后续的讲解,我们说的链表就是列表&#xff0…

python实现元旦多种炫酷高级倒计时_附源码【第20篇—python过元旦】

文章目录 🌍python实现元旦倒计时 — 初级(控制台)⛅实现效果🌋实现源码🌜源码讲解 🌍python实现元旦倒计时 — 中级(精美动态图)⛅实现效果🌋实现源码🌜源码讲解 🌍python实现元旦倒计时 — 高…

.NET6之MiniAPI(十一):本地化

.net开发体系里,大部分本地化的实现都是用资源文件实现(.resx),asp.net core中的多语Culture是指区域性的对象,而UICulture 该对象表示资源管理器在运行时查找区域性特定资源时所用的当前用户接口区域性。asp.net core实现也是通过添注入本地…

C#基础整理

元旦整理书架发现一本小册子——《C#精髓》中国出版社2001年出版的,粗略翻了下关于C#的知识点挺全的虽然内容谈得很浅也有很多过时的内容(话说这本书是我在旧书店花5块钱淘的)我保留原有章节并删减部分过时和不重要内容添加一些自己觉得重要的…

linux c之fdopen(int fd, const char *type)使用总结

1、fdopen(int fd, const char *type)的介绍 比如一写特殊文件不能用io打开,我们先要用open函数得到文件描述符,也就是这个fdopen函数的第一个参数,第二个参数是常量,不同类型不同意义,如下图 2、代码演示 #include<stdio.h> #include<fcntl.h>int main…

HTML form的一些属性(第一版)

HTML表单属性总结(第一版) 基本格式为:<input type"类型" name"名字[唯一,有的类型的同组是需要设置相同的名字]" value"值,类型不同的,他们的含义是不同的">. 例如:<input type"text" name"username" value"…

基于ASA防火墙的SSL ×××配置

基于ASA防火墙的SSL 配置实验拓扑图 实验目的&#xff0c;PC2通过SSL能够访问到PC1SSL服务端配置全在ASA上面&#xff0c;下面为配置步骤&#xff1a;第一步&#xff1a;建立RSA密钥证书&#xff0c;名称为ssl***keypaircrypto key generate rsa label ssl***keypair第二步&…

晚上去宾馆有什么是一定要带的?

1 前任垃圾袋&#xff08;素材来源网络&#xff0c;侵删&#xff09;▼2 上一代摸鱼也是很厉害的&#xff08;素材来源网络&#xff0c;侵删&#xff09;▼3 穿最帅最贵的衣服参加婚礼&#xff08;素材来源网络&#xff0c;侵删&#xff09;▼4 去宾馆要带什么?&#xff08…

100以内素数之和python123_python质数,水仙花数,简单猜拳游戏等

找到所有两位的奇妙数&#xff1a;奇妙数。即一个整数等于其各位数字之和加上各位数字之积 例如 39 (39) (3*9)找到100以内所有的质数要用户从键盘输入任意整数&#xff0c;计算该整数的偶数个数&#xff0c;奇数个数和总位数。将这三个数字拼接成一个新的数字&#xff0c;并…

linux c之用fputc和fgetc复制文件并且打印在终端

1、fputs和fgetc相关函数解释 1、字符的输出 #include<stdio.h> int getc(FILE *fp) int fgetc(FILE *fp) int getchar(vaid) 3个函数若成功返回读入的字符值,若出错或则到末尾返回EOF,EOF为常量是-1 2、字符的输入 #include<stdio.h> int putc(int c, FILE *fp…

jQuery banner切换插件

今天学写了一个基于jQuery焦点图切换插件&#xff0c;有不对的地方还请多多指教&#xff0c;不多说下面是代码&#xff1a; 1、引jQuery库 <script src"http://code.jquery.com/jquery-1.11.1.min.js"></script> 2、Html部分 <!--Focus Html--> &l…

DispatcherCore ,一个WPF异步操作常用功能库

在WPF开发中&#xff0c;经常遇到跨线程的问题&#xff0c;以及频繁使用跨线程操作UI线程中的界面元素&#xff0c;一些COM组件操作也是必须在UI主线程中使用&#xff0c;否则就会抛出各种无法访问的错误。是否有遇到过呢&#xff1f;为了解决各种跨线程访问的问题&#xff0c;…

Linux:文件描述符

1. 概述在Linux系统中一切皆可以看成是文件&#xff0c;文件又可分为&#xff1a;普通文件、目录文件、链接文件和设备文件。文件描述符&#xff08;file descriptor&#xff09;是内核为了高效管理已被打开的文件所创建的索引&#xff0c;其是一个非负整数&#xff08;通常是小…

Objective-C入门

厂长最近又有新计划&#xff0c;准备做iOS上的开发&#xff0c;要操作工们&#xff08;其实就是我自己&#xff09;学习Objective-C&#xff0c;准备为厂子下一步的发展做出巨大贡献。拿人钱财&#xff0c;替人消灾&#xff0c;又得花时间折腾一门语言。话说自从来到现车间&…

linux c之用fwrite和fread实现文件的复制

1、题目 用fwrite和fread函数实现文件的复制 2、函数解释 #include<stdio.h> size_t fread(void *ptr, size_t size, size_t nmemb, FILE *FP); size_t fwrite(const void *ptr, size_t size, size_t nmemb, FILE *FP); 2个函数返回:读或写的对象数 fread函数用于执行直…