如何调用不确定窗体,还请指教,非常感谢!祝您圣诞快乐!

trier2003 2004-12-23 09:36:33
我想做一个功能树,点击的时候打开不同的窗体。这个功能树是动态的,就是不同权限的人出现的节点不一样,如何将节点标识与不同的窗体关联起来,点击的时候打开正确的窗体!

还请指教,非常感谢!
...全文
154 23 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
23 条回复
切换为时间正序
请发表友善的回复…
发表回复
marvelstack 2004-12-23
  • 打赏
  • 举报
回复
继承TreeNode,在子类中包含一个Form和一个使用权限变量。
trier2003 2004-12-23
  • 打赏
  • 举报
回复
顶,看中午有没有答案
rijing2000 2004-12-23
  • 打赏
  • 举报
回复
http://dev.csdn.net/develop/article/46/46182.shtm
建议看看这一篇!相信你的问题会解决掉。
trier2003 2004-12-23
  • 打赏
  • 举报
回复
焦急等待中呀1
Leevy 2004-12-23
  • 打赏
  • 举报
回复
没有,学习ing...
北京的雾霾天 2004-12-23
  • 打赏
  • 举报
回复
参见
Assembly.CreateInstance 方法

[C#]
public object CreateInstance(
string typeName
);
trier2003 2004-12-23
  • 打赏
  • 举报
回复
顶!
谁有这样的源代码,圣诞高分奉送!
兔子-顾问 2004-12-23
  • 打赏
  • 举报
回复
生蛋快乐。不会。顶。
trier2003 2004-12-23
  • 打赏
  • 举报
回复
顶!不要沉呀!
trier2003 2004-12-23
  • 打赏
  • 举报
回复
楼上们说的不错,不知道反射怎么做,能不能给个例子!
还有我想把窗体作为一个实例来处理,例如
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;
}
}
不知道各位有没有相关的经验!
Alden 2004-12-23
  • 打赏
  • 举报
回复
学习学习.
跋涉者 2004-12-23
  • 打赏
  • 举报
回复
看看这段我写的vb代码对你有没有帮助.
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()
hujiiori 2004-12-23
  • 打赏
  • 举报
回复
treeNode.tag存放相关窗体的标识
brightheroes 2004-12-23
  • 打赏
  • 举报
回复
节点不是有Tag属性吗?
把你的窗体的类的名称给到Tag上面
然后
用楼上说的办法来处理
跋涉者 2004-12-23
  • 打赏
  • 举报
回复
用反射
在功能树上保存要打开的窗体的类名.
在处理树节点点击事件的时候用反射来实现.
trier2003 2004-12-23
  • 打赏
  • 举报
回复
圣诞快乐,帮我解决一下燃眉之急呀!
haoztao 2004-12-23
  • 打赏
  • 举报
回复
帮你顶!
an_andy 2004-12-23
  • 打赏
  • 举报
回复
顶....
圣诞快乐
trier2003 2004-12-23
  • 打赏
  • 举报
回复
谢谢各位,尤其是hatita,hbxtlhx,noeye.大致原理我明白了,也作出来了!不过我还有一点想法;
1.在实际的开发过程中是不是要把节点标识成一定规则,或者说和窗体类名称一样!
2.通常情况下要加载的不是一个Assembly,他们的名称空间也不一定相同,需要对这个灵活处理!
3.对与右键,Botton这样的控件如果控制权限,通常是将这样的控件不可见,该如果处理!
4.通常权限是在登陆的时候加载的,对于每一个窗体调用不应该再和服务器进行交互进行权限验证!

这只是我个人的想法和准备努力做的工作,还请各位一起学习,指导!如果我能够完成这样的工作会和大家共享!
祝大家圣诞快乐!
hatita 2004-12-23
  • 打赏
  • 举报
回复
空手打得,上面错了,抱歉。
Type t = Type.GetType("WindowsApplication.Form1");
object objForm = System.Activator.CreateInstance(t);
Form form = (Form)objForm;
form.Show();
加载更多回复(3)
内容概要:本文详细介绍了名为MoSca的系统,该系统旨在从单目随意拍摄的视频中重建和合成动态场景的新视角。MoSca通过4D Motion Scaffolds(运动支架)将视频数据转化为紧凑平滑编码的Motion Scaffold表示,并将场景几何和外观与变形场解耦,通过高斯融合进行优化。系统还解决了相机焦距和姿态的问题,无需额外的姿态估计工具。文章不仅提供了系统的理论背景,还给出了基于PyTorch的简化实现代码,涵盖MotionScaffold、GaussianFusion、MoScaSystem等核心组件。此外,文中深入探讨了ARAP变形模型、2D先验到3D的提升、动态高斯表示、相机参数估计等关键技术,并提出了完整的训练流程和性能优化技巧。 适用人群:具备一定计算机视觉和深度学习基础的研究人员和工程师,特别是对动态场景重建和新视角合成感兴趣的从业者。 使用场景及目标:①从单目视频中重建动态场景的新视角;②研究和实现基于4D Motion Scaffolds的动态场景表示方法;③探索如何利用预训练视觉模型的先验知识提升3D重建质量;④开发高效的动态场景渲染和优化算法。 其他说明:本文提供了详细的代码实现,包括简化版和深入扩展的技术细节。阅读者可以通过代码实践加深对MoSca系统的理解,并根据具体应用场景调整和扩展各个模块。此外,文中还强调了物理启发的正则化项和多模态先验融合的重要性,帮助实现更合理的变形和更高质量的渲染效果。

111,094

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧