上述功能如何在C#中实现?
动态生成的Form中,可能包括有N个Button,Button的Name属性取自数据库,Button_click如何编写?,Button_click的内容要写入数据表中,再读取出来Run.适合做二次开发。
动态生成的Form中,可能包括有N个Button,Button的Name属性取自数据库,Button_click如何编写?,Button_click的内容要写入数据表中,再读取出来Run.适合做二次开发。
解决方案 »
- string.Empty和""一样吗
- 关于实现接口的类中实现自己的方法调用的问题
- 谁有queueing network model 中文资料?
- 请问windows窗体中面板布局的问题!
- 怎么将一个数字(例如2,1.387)格式化成带两位小数点的数字(例如2.00,1.39)?
- C# 调用Oracle的存储过程时候,总提示参数的类型错误???
- ping代码的问题
- .net(C#)移动Web开发问题
- .NET下梦寐以求的组件现在热送中... ... ... ... ... ...
- Grid上多选后,右键编辑,删除问题
- 存储数据,数据名称和数据类型可以动态添加,c#winform中用什么比较好,datatable排除在外
- 如何获得打开窗体的实例(窗体间传值)?
所有的Button点击事件都会到Button_Click方法为了区分是谁点击的,可以通过参数sender判断,这个sender就是被点击的button
btn.Name="Button1"
btn.Location=new Point(100,200);
btn.Click += new EventHandler(this.btn_Click);
this.Controls.Add (btn);
private void btn_Click(object sender, System.EventArgs e)
{
Button btn= (Button)sender; }
不过后来证明,不是很实用,只能做简单的逻辑
{
/// <summary>
/// 应用程序的主入口点。
/// </summary>
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Form1 frm = new Form1();
frm.AddButton("新建", new System.Drawing.Size(10, 20), new System.Drawing.Point(10, 10), 0, "按钮", btnnew_click);
Application.Run(frm);
}
private static void btnnew_click(object sender, EventArgs e)
{
MessageBox.Show("HI");
}
}
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
} public void AddButton(string btnName, Size btnSize, Point btnLocation, int btnTabIndex, string btnText,EventHandler click)
{
Button btnNew = new Button();
btnNew.Location = btnLocation;
btnNew.Name = btnName;
btnNew.Click+=new EventHandler(click);
btnNew.Size = btnSize;
btnNew.TabIndex = btnTabIndex;
btnNew.Text = btnText;
this.Controls.Add(btnNew);
}
}
关键是我并不知道会有多少个button,多少个Listbox,多少个check,多少个Combobox,这些都是放在数据库里,根据database中相关的数据动态生成控件放在动态生成的Form中,其中一些控件可能包含脚本,脚本也放在数据库中,如何处理?
现公司有用VFP做的系统,已做到二次开发,相关控件,脚本,全部是从数据库读取出来的。
想转换为C#,太难。
然后 在new Form 的
load 函数里面先获得控件的个数 ,然后再对控件 在Form的布局上控制一下
尽可能抽象出来共同的行为和事件,对特殊的功能要求开放接口或者参数控制