社区
C#
帖子详情
Winform里面设置起始窗口?
bufan2162
2007-10-21 09:11:28
如题,我有很多个窗口,界面都是差不多的,就是怎么控制一下每次启动要启动哪个窗口?跟WebForm不一样,WebForm里只要设置为起始页就行
...全文
959
20
打赏
收藏
Winform里面设置起始窗口?
如题,我有很多个窗口,界面都是差不多的,就是怎么控制一下每次启动要启动哪个窗口?跟WebForm不一样,WebForm里只要设置为起始页就行
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
20 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
xuskyline
2012-03-31
打赏
举报
回复
tks,应该是这样 的
huzhiliang198485954
2007-10-22
打赏
举报
回复
来晚了!!哎~~
这么简单的题目竟然错过了
bufan2162
2007-10-22
打赏
举报
回复
cocosoft 救命啊!!!!!!!!!
seamanhy
2007-10-22
打赏
举报
回复
main函数里面的Application.Run(new Form());
bufan2162
2007-10-22
打赏
举报
回复
是本身exe文件内部的窗口,但Assembly.LoadFrom里面的参数我写的是命名空间的名字还不行,求大侠帮助!
david_anwei
2007-10-22
打赏
举报
回复
一楼的最简洁明了!
tepc2000
2007-10-22
打赏
举报
回复
在program.cs文件里有这么一行
Application.Run(new Form1());
把Form1改成你要启动的form名就可以了
----------------------------------
如果是多个工程,设置为"设为启动项目",
然后在program.cs文件里
Application.Run(new Form1());
把Form1改成你要启动的form名就可以了
甴曱
2007-10-22
打赏
举报
回复
[CODE="C#"]
Type TheType = null;
Assembly ass = Assembly.LoadFrom(Application.StartPath + "\\" + DllFileName);
TheType = ass.GetType(FormClassName);
//这里面的DllFileName是你的dll文件名称,FormClassName是你的窗口类名称
//...
Form f=(Form)Activator.CreateInstance(TheType);//创建窗口的实例
[/CODE]
测试一下
甴曱
2007-10-22
打赏
举报
回复
如果你的Form是从其他dll文件中传递过来的,那么,你需要使用Assembly.LoadFrom()事件来传递你的文件名,即.dll文件名(包含完整路径).如果是本身exe文件内部的窗口,那么你只需要使用Assembly里面的GetType事件来取出类名.
例:
[code=c#]
Type TheType = null;
Assembly ass = Assembly.LoadFrom(Application.StartPath + "\\" + DllFileName);
TheType = ass.GetType(FormClassName);
//这里面的DllFileName是你的dll文件名称,FormClassName是你的窗口类名称
//...
Form f=(Form)Activator.CreateInstance(TheType);//创建窗口的实例
[/code]
对CONFIG或INI或XML文件的操作,你可以参考C#对之些文件的操作的相关实例.网络上一抓一大把.
优途科技
2007-10-22
打赏
举报
回复
4楼正解。
bumm
2007-10-22
打赏
举报
回复
cocosoft 的意思是说通过CONFIG INI XML等文件来配置你想要动态加载的Assembly,CONFIG INI XML等文件中你可以配置需要加载的Assembly得路径、命名空间、类名、Assembly名称等一些信息,在程序运行时读取配置文件来动态加载Assembly。动态加载Assembly的例子如下:
Assembly a = Assembly.LoadFrom(args[0]);
Type[] mytypes = a.GetTypes();
BindingFlags flags = (BindingFlags.NonPublic | BindingFlags.Public |
BindingFlags.Static | BindingFlags.Instance | BindingFlags.DeclaredOnly);
foreach(Type t in mytypes)
{
MethodInfo[] mi = t.GetMethods(flags);
Object obj = Activator.CreateInstance(t);
foreach(MethodInfo m in mi)
{
m.Invoke(obj, null);
}
}
叶子
2007-10-22
打赏
举报
回复
Application.Run(new 窗体名());
bufan2162
2007-10-22
打赏
举报
回复
没错,“cocosoft”我就是要这种效果,请问怎么配置CONFIG INI XML呢?
叶子
2007-10-22
打赏
举报
回复
Application.Run(new 窗体名);
甴曱
2007-10-22
打赏
举报
回复
本身是exe文件里面的窗口的话,不需要使用到Assembly.直接使用Type.GetType(类名)即可.
如:
Type TheType = Type.GetType(类名);
Form f=(Form)Activator.CreateInstance(TheType);即可进行实例化
Love_My
2007-10-21
打赏
举报
回复
在 Main 入口里面设置
甴曱
2007-10-21
打赏
举报
回复
如果只是简单地要变更起始窗口的话,使用上面几位的方法即可.如果说,楼主需要的是程序在开发完成后,交给客户使用,在客户使用的过程中,需要在下一次启动的时候,启动指定的窗口的话.这需要使用到第三方文件(配置文件 CONFIG INI XML文件等)来保存需要启动窗口的类名,在下一次运行的时候调用文件中保存的信息然后动态加载窗口.
在这里面需要添加Assemly从字符串中读取类名来完成类的实例化.
ben_bear
2007-10-21
打赏
举报
回复
Application.Run(new 起始窗口());
Bmonkey
2007-10-21
打赏
举报
回复
可执行程序都需要一个执行入口点的,那就是main函数
shark2076
2007-10-21
打赏
举报
回复
在program.cs文件里有这么一行
Application.Run(new Form1());
把Form1改成你要启动的form名就可以了
winform
最小化
窗口
拖动
在Windows Forms(
Winform
)开发中,我们经常需要自定义
窗口
的行为,比如改变
窗口
的默认操作,例如关闭、最小化和最大化。标题“
winform
最小化
窗口
拖动”指的是如何在C#编程环境下实现
Winform
窗口
的自定义最小化...
winform
实现遮罩层效果
- 在构造函数中
设置
必要的属性,如`Opacity`(透明度)、`BackGroundColor`(背景颜色,通常为黑色)、`StartPosition`(
起始
位置,设为`FormStartPosition.Manual`)和`WindowState`(设为`FormWindowState....
c#
WinForm
无边框拖拽及窗体放大缩小
"c#
WinForm
无边框拖拽及窗体放大缩小"这个主题涉及了如何在没有标准边框的窗体上实现拖动和自适应大小调整的功能。以下是对这些知识点的详细说明: 首先,
WinForm
s中的窗体(Form)通常有预设的边框,这些边框提供...
弹出的消息框或另一个
窗口
在父
窗口
中间
总之,弹出的消息框或
窗口
居中于父
窗口
是通过获取和计算
窗口
位置,然后
设置
子
窗口
的
起始
位置来实现的。这一过程涉及了Windows API或.NET Framework中的多个函数和属性,是GUI编程中常见的技巧。通过学习和实践,...
Winform
中实现文件分割与合并示例代码.zip
点击“分割文件”按钮时,弹出文件选择对话框,用户选择大文件,
设置
分割大小和输出目录,然后调用`FileSplitter`类的分割方法。点击“合并文件”按钮时,加载元数据文件,调用`FileMerger`类的合并方法。 这个示例...
C#
111,092
社区成员
642,555
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章