利用反射动态创建控件,且修改其属性
2009-11-10 12:36
543 查看
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Reflection;
//using System.Data;
namespace WindowsFormsApplication2
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
}
//DataTable dt = new DataTable();
Assembly asm;
private void Form1_Activated(object sender, EventArgs e)
{
fillDgv(toolStripTextBox1.Text);
}
private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e)
{
try
{
splitContainer3.Panel2.Controls.Clear();
System.Type t = asm.GetType((string)dataGridView1.CurrentRow.Cells[0].Value);
object obj = Activator.CreateInstance(t);
propertyGrid1.SelectedObject = obj;
Control c = obj as Control;
splitContainer3.Panel2.Controls.Add(c);
}
catch
{
}
}
private void toolStripTextBox1_KeyPress(object sender, KeyPressEventArgs e)
{
if (e.KeyChar == (char)Keys.Enter)
fillDgv(toolStripTextBox1.Text);
}
private void fillDgv(string assemblyPath)
{
dataGridView1.Rows.Clear();
asm = Assembly.LoadFrom(assemblyPath);
System.Type[] ts = asm.GetTypes();
foreach (System.Type t in ts)
{
dataGridView1.Rows.Add(t.FullName);
}
}
}
}
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Reflection;
//using System.Data;
namespace WindowsFormsApplication2
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
}
//DataTable dt = new DataTable();
Assembly asm;
private void Form1_Activated(object sender, EventArgs e)
{
fillDgv(toolStripTextBox1.Text);
}
private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e)
{
try
{
splitContainer3.Panel2.Controls.Clear();
System.Type t = asm.GetType((string)dataGridView1.CurrentRow.Cells[0].Value);
object obj = Activator.CreateInstance(t);
propertyGrid1.SelectedObject = obj;
Control c = obj as Control;
splitContainer3.Panel2.Controls.Add(c);
}
catch
{
}
}
private void toolStripTextBox1_KeyPress(object sender, KeyPressEventArgs e)
{
if (e.KeyChar == (char)Keys.Enter)
fillDgv(toolStripTextBox1.Text);
}
private void fillDgv(string assemblyPath)
{
dataGridView1.Rows.Clear();
asm = Assembly.LoadFrom(assemblyPath);
System.Type[] ts = asm.GetTypes();
foreach (System.Type t in ts)
{
dataGridView1.Rows.Add(t.FullName);
}
}
}
}
![](http://p.blog.csdn.net/images/p_blog_csdn_net/fisea/EntryImages/20091110/tmp_JPG.jpg)
相关文章推荐
- IOS 利用Model 反射属性 自动 创建表 插入 查询 修改
- [VB.NET]反射问题,怎么通过动态创建的控件得到控件的方法!
- C#利用反射动态创建对象
- 通过反射动态创建了一个控件,如何再用发射通过该控件的名字得到该控件呢?
- 利用反射动态创建对象
- 【经典实例】利用C#反射动态编译代码,创建类的实例,并调用其成员
- 动态修改 控件属性 2011.07.21
- 利用反射方式,动态引用程序集创建类
- [译文]运行时利用反射动态地创建类的实例
- (C#)利用反射动态调用类成员、动态加载控件以及插件编程思想
- 利用反射动态创建对象
- 如何利用java的反射机制动态的取得对象的属性?
- 利用反射获取对象属性并修改属性值
- C# 利用反射动态创建对象
- C# 利用反射动态创建对象[摘录]
- 利用File Input控件修改name属性
- C#利用反射动态创建对象 带参数的构造函数和String类型
- C# 利用反射动态创建对象——带参数的构造函数和String类型
- 动态创建属性和控件关联
- 利用反射动态创建实例并调用方法