节点不是有Tag属性吗?
把你的窗体的类的名称给到Tag上面
然后
用楼上说的办法来处理
把你的窗体的类的名称给到Tag上面
然后
用楼上说的办法来处理
解决方案 »
- 怎样将一个安装文件打包另一个安装文件中
- windows ce中对xml文件操作
- 求一个Winfrom打包
- 窗體切換時....在綫等.....
- 谁有Access--sql语句大全之类的东西?
- 关于在C#程序里怎么样加入声音?
- command.Parameters["@" + columname].Value值的问题。
- 在c#中如何用gdi+ 画出柱形图,和饼形图,能不能提供点详细的代码?
- 如何显示内容,请教。
- C#这种winform的控件联动怎么写?最好来个源码
- 100分求DATAGRID的问题!
- 如何让DataGrid控件的某一列不可输入,即变为只读,如何让其某一列的值只可输入数字(非常感谢!!!)
Dim args As Object()
'Dim a As [Assembly]
'怎样获取本程序序的AssemlyFullName呢?
Dim bf As BindingFlags = BindingFlags.GetProperty Or BindingFlags.Instance Or BindingFlags.NonPublic Or BindingFlags.Public Or BindingFlags.Static
Dim tForm As Type = Type.GetType("YourAssemblyName" + sClassName)
'sClassName 是个字符串,就是设置成你的窗体名了,你可以动态更改的啊
If (Not oCurrentWindowsForm Is Nothing) Then
oCurrentWindowsForm.Close()
End If
oCurrentWindowsForm = CType(tForm.InvokeMember("DefInstance", BindingFlags.GetProperty Or bf, Nothing, Nothing, args), cCaseHistoryBaseForm)
oCurrentWindowsForm.WindowState = FormWindowState.Maximized
oCurrentWindowsForm.Show()
oCurrentWindowsForm.Activate()
还有我想把窗体作为一个实例来处理,例如
private static volatile FunctionManage instance=null;
public static FunctionManage Instance
{
get
{
if(null==instance)
{
lock(typeof(FunctionManage))
{
if(null==instance)
{
instance=new FunctionManage();
}
}
} return instance;
}
}
不知道各位有没有相关的经验!
Assembly.CreateInstance 方法 [C#]
public object CreateInstance(
string typeName
);
建议看看这一篇!相信你的问题会解决掉。
-------------------------
难道这些回复你还不可以知道怎么来做么?1:使用TreeNode.Tag属性把要调用打开的窗体的关键字放入其中;
2:按你点击的节点的tag来打开这个窗体.
3:你可以用CreateInstance来动态加载你的窗体,也可以用switch来打开你的窗体.这上面不都说了么,怎么还要答案?
private static volatile FunctionManage instance=null;
public static FunctionManage Instance
{
get
{
if(null==instance)
{
lock(typeof(FunctionManage))
{
if(null==instance)
{
instance=new FunctionManage();
}
}
}return instance;
}
}
我希望采用这样的模式动态调用窗体!
或许是我理解错误把,但是现在还是没有明白怎么做!
Form form = (Form)objForm;
form.Show();"WindowsApplication.Form1"
你Form的完全限定名。
楼上的兄弟,都说的很清楚了。
Type t = Type.GetType("WindowsApplication.Form1");
object objForm = System.Activator.CreateInstance(t);
Form form = (Form)objForm;
form.Show();
1.在实际的开发过程中是不是要把节点标识成一定规则,或者说和窗体类名称一样!
2.通常情况下要加载的不是一个Assembly,他们的名称空间也不一定相同,需要对这个灵活处理!
3.对与右键,Botton这样的控件如果控制权限,通常是将这样的控件不可见,该如果处理!
4.通常权限是在登陆的时候加载的,对于每一个窗体调用不应该再和服务器进行交互进行权限验证!这只是我个人的想法和准备努力做的工作,还请各位一起学习,指导!如果我能够完成这样的工作会和大家共享!
祝大家圣诞快乐!