c#-C# 生成动态控件的问题

问题描述

C# 生成动态控件的问题

Button btn1 = new Button();
Form1.Controls.Add(btn1);
报错,要求对象引用、然后把Form1换成this 就行了,这是为什么啊

解决方案

Form1是类,this是对象实例。用类名只能调用静态方法,不能调用实例方法。
估计你是从VB6的开发中转过来的,VB中,为了简化代码,允许通过窗口类名来访问当前窗口实例,编译器会自动处理,不过C#没有这样的功能。

解决方案二:

WinForm中,我们想在窗体Form1中动态生成一个位于窗体中间的Button,可以这样做

Button dyBtn = new Button();
//设置文本
dyBtn.Text = "动态生成的Button";
//改变按钮的长和宽
dyBtn.Size = new Size(150,25);
//改变按钮的位置 这里是置于窗体中间
dyBtn.Location = n......
答案就在这里:C#动态生成控件
----------------------

时间: 2024-09-18 14:50:26

c#-C# 生成动态控件的问题的相关文章

在MFC中创建动态控件的生成与响应

动态控件是指在需要时由Create()创建的控件,这与预先在对话框中放置的控件是不同的 . 一.创建动态控件: 为了对照,我们先来看一下静态控件的创建. 放置 静态控件时必须先建立一个容器,一般是对话框,这时我们在对话框编辑窗口中,从工具窗 口中拖出所需控件放在对话框中即可,再适当修改控件ID,设置控件属性,一个静态控件就 创建好了,当对话框被显示时,其上的控件也会显示. 静态控件不需要调用Create() 函数来创建. 而创建动态控件有很大不同,以下以按钮为例,看一下动态控件的创建 过程: 1

用动态控件模拟复合控件(一)

动态控件,复合控件,相信大家都已经很熟悉了.只要达到同样的展示及功能,用什么样的方式实现应该取决于实际情况.我在一个项目中遇到的情况是:已经有了很多页面,但每个页面都没有用Validation控件来验证输入的有效性. 为了达到相同的展示效果: 常规办法:是为每个页面的每个TextBox有选择的生成RequiredFieldValidator.RangeValidator.CompareValidator.RegularExpressionValidator.FilteredTextBoxExte

动态生成textbox控件,根据内容添写入excel

问题描述 我想动态生成textbox控件组,获取用户在动态生成的textbox控件中添写的内容,写入excel.现在一个是不知道动态生成的控件组在用户输入后的text值如何获得.我试过用textchanged,keypress事件绑定生成的动态控件,好像不行. 解决方案 解决方案二:ding解决方案三:PrivateSubForm1_Load(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesMe.LoadDimmytext(6

asp.net根据条件动态生成GridView,并动态绑定列,且可对其进行编辑的实现

 根据用户需要,一个页面中,有几个不同的button,点击不同的button,可在下方同一区域产生gridview,(当然他们的gridview是不同的).之前用MultiView来控制,用了几个view在html中绑定了几个Gridview,然后根据点击的按钮不同,切换不同的view.但总觉得这种方式不爽~~,html代码太多,控制起来很麻烦~!   于是就想到用这种动态的方式实现.Html中只有一个div,用来放置生成的控件,其他全部在后台实现.   有一点需要注意:如果是在html中加入的

php实现在线生成条形码示例

 php实现在线生成条形码,可以做一个条形码生成器,大家参考使用吧   代码如下:                  <?php define('IN_CB',true); include('header.php');   $keys = array('0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U',

php生成uuid格式字符串

  UUID是指在一台机器上生成的数字,它保证对在同一时空中的所有机器都是唯一的.通常平台会提供生成UUID的API.UUID按照开放软件基金会(OSF)制定的标准计算,用到了以太网卡地址.纳秒级时间.芯片ID码和许多可能的数字.由以下几部分的组合:当前日期和时间(UUID的第一个部分与时间有关,如果你在生成一个UUID之后,过几秒又生成一个UUID,则第一个部分不同,其余相同),时钟序列,全局唯一的IEEE机器识别号(如果有网卡,从网卡获得,没有网卡以其他方式获得),UUID的唯一缺陷在于生成

openssl使用DSA算法生成签名

  命令: openssl> dgst -dss1 -sign C.pri -out signature.bin s.txt 解释 C.pri是DSA算法生成的私钥文件 s.txt是制作签名的原文 signature.bin是生成的签名文件 php中可以使用下面的方法察看签名内容  代码如下   <?php echo bin2hex(file_get_contents('signature.bin')); ?> 参考内容 消息摘要算法 支持的算法包括:MD2, MD4, MD5, MDC

如何生成.p12文件

如何生成.p12文件   1. 打开钥匙串   2. 钥匙串选登录,种类选证书   3. 选择开发者,然后导出证书   4. 存储证书   5. 选择存储的时候会提示输入证书的密码,当然,也可以不用输入密码   6. 点击上面好的时候,会提示你输入密码,这个地方的密码就是这个钥匙串的密码哦:)   7. 生成了.p12文件

AutoThrCode 三层结构业务层代码自动生成工具

请看下面示例:数据表结构如下: 生成的 属性成员 和 添加,更新的代码: 'AutoThrCode自动生成三层结构业务逻辑层代码'IsDotNet 版权所有'作者:梦虫'Msn:IsDotNet@MsN.CoM'Http://www.IsDotNet.com'本代码引用 IsDotNet.Data.SqlDbHelper 类,请将 AdoHelper.dll 拷贝到WEB程序的BIN目录下'请在WEB程序的web.config文件的节配置数据库连接字符串,"ConnectionString&qu