社区
C#
帖子详情
如何动态加载和卸载Form?
shibill
2003-10-17 11:20:12
工程中有多个窗体frm1,frm2,frm3,首先运行frm1,每个窗体上有一个按钮,用于关闭本窗体并切换到另外一个窗体上。原来在VB6中用的是Load和UnLoad,转到VB.Net下不会了。请大虾指点一下
...全文
51
16
打赏
收藏
如何动态加载和卸载Form?
工程中有多个窗体frm1,frm2,frm3,首先运行frm1,每个窗体上有一个按钮,用于关闭本窗体并切换到另外一个窗体上。原来在VB6中用的是Load和UnLoad,转到VB.Net下不会了。请大虾指点一下
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
16 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
iswear428
2003-10-28
打赏
举报
回复
同意公主的,并补充详细:
你需要在额外增加一个Form,可以把它取名MainForm
在项目启动时,MainForm做为主窗体
Application.Run(new MainForm());
然后再在MainForm中
Form1 f= new Form1();
f.show();
MainForm.hide();
明白?
sky_97
2003-10-27
打赏
举报
回复
同意公主的
shibill
2003-10-27
打赏
举报
回复
能不能再具体点?
cdbnzc
2003-10-23
打赏
举报
回复
同意公主的
xixigongzhu
2003-10-23
打赏
举报
回复
frm1如果要在程序运行的过程中关闭的话,就不能作为主窗体,如果不想Hide,必须另外定义一个MainForm作为主窗体,然后:
Application.Run(new MainForm());
在主窗体定义一个Button,以便引出frm1窗体。
shibill
2003-10-23
打赏
举报
回复
问题是我现在不想Hide
shibill
2003-10-23
打赏
举报
回复
Frm1可以作为主窗口吗?开始可以显示Frm1,该如何使用Application.Run呢?能否给个详细的例子
cdbnzc
2003-10-22
打赏
举报
回复
如果是要实现楼主得目的,我想可以用hide()
Button_Click事件里面
frm2.Show()
frm1.Hide()
然后需要得时候还可以frm1.Show()
xixigongzhu
2003-10-22
打赏
举报
回复
而且必须以Application.Run作为入口。
在主Form上定义按钮,点击按钮显示第一个Form,并隐藏主Form,以后的就很容易实现了。
xixigongzhu
2003-10-22
打赏
举报
回复
所以要做到斑竹所要求的话,必须另外有个主Form,而且在一开始就显示。
xixigongzhu
2003-10-22
打赏
举报
回复
在winForm环境,必须有个主Form,如果这个主Form关闭,那么整个应用程序也会关闭。而且主Form必须首先显示,也就说第一个显示的Form是主Form。
shibill
2003-10-20
打赏
举报
回复
我也知道是用close和show,不过却不能实现窗体间的切换,是不是还需要使用Application.run?
zwq78
2003-10-17
打赏
举报
回复
不用unload了
用close
kuangren
2003-10-17
打赏
举报
回复
eg:
Form f=new Form();
f.Show();
//f.ShowDialog();
laogao
2003-10-17
打赏
举报
回复
在frm1中声明frm2的实例,然后调用:
frm2.Show();
catthunder
2003-10-17
打赏
举报
回复
调用SHOW就好了
基于proto协议定制相关自动化生成工具.rar
golang自身的plugin还非常的弱,主要有这些限制: 其插件的编译环境必须与宿主进程的编译环境完全一致 插件可以
动态
加载
,但是无法
动态
卸载
hashicorp公司(他们更出名的产品是terra-
form
)开源的go-plugin使用了多进程的模式来实现插件,宿主进程创建子进程,然后通过unix套接字来通讯。 虽然跨进程来通讯有一定的损耗,但对于计算的场景还是OK的,反之用于通讯则不太适合。 hashicorp/go-plugin有这样一些不错的特性: 提供了多进程插件化运行的框架,可以以多种方式写caller端和callee端。 可以
动态
的
加载
插件(创建进程)、
卸载
插件(退出子进程) 因为是跨进程的通讯,所以子进程的稳定性不影响宿主进程;其所有的操作系统资源都是与主进程隔离的 官方甚至提供了一个用python实现子进程的例子 如果用go + lua的方式来写插件,相信可以做到用lua来实现
动态
跨进程执行的效果 基于这个框架可以很容易写出一个FAAS(Function as-a Service)框架来 提供了日志、加密、通讯等其他支撑性的功能
简单小动画
Option Explicit Dim imgIndex As Integer '标识当前显示的是第几个图像 '
卸载
窗体 Private Sub cmdClose_Click() Unload Me frmMain.Show End Sub '运行或停止演示 Private Sub cmdRun_Click() If Timer1.Enabled = False Then Timer1.Enabled = True cmdRun.Caption = "停止" Else Timer1.Enabled = False cmdRun.Caption = "运行" End If End Sub '
加载
窗体和图像 Private Sub
Form
_Load() Dim i As Integer '
加载
ImageList控件的图象 For i = 0 To 17 imgLst.ListImages.Add , , Image1(i).Picture Next i '设置初始图像索引 imgIndex = 0 End Sub '利用时钟实现动画 '循环显示图像 Private Sub Timer1_Timer() imgIndex = imgIndex + 1 If imgIndex > 18 Then imgIndex = 1 End If Dim picX As Picture Set picX = imgLst.ListImages(imgIndex).ExtractIcon Me.Icon = picX picMouse.MouseIcon = picX picMouse.MousePointer = vbCustom End Sub
C#中
动态
加载
和
卸载
DLL
在C++中
加载
和
卸载
DLL是一件很容易的事,LoadLibrary和FreeLibrary让你能够轻易的在程序中
加载
DLL,然后在任何地方
卸载
。在C#中我们也能使用Assembly.LoadFile实现
动态
加载
DLL,但是当你试图
卸载
时,你会很惊讶的发现Assembly没有提供任何
卸载
的方法。这是由于托管代码的自动垃圾回收机制会做这件事情,所以C#不提供释放资源的函数,一切由垃圾回收来做。
AppDomain二——C#中
动态
加载
和
卸载
DLL
该demo实现
动态
加载
TestDll的功能 首先定义一个TestDll库 using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace TestDll { pub...
Dotnet
动态
加载
和
卸载
dll
Dotnet
动态
加载
和
卸载
dll案例:在Dotnet中使用反射
动态
加载
dll,却发现没有提供unload()方法?思路1 :创建appdomain,在其上
加载
dll,然后对可以appdomain.unload(secmon),从而间接unload已
加载
的dll. google下可以找到很多代码 ,但我发现在windows
form
上可以很轻易的完成的功能,但到asp.net
C#
110,534
社区成员
642,575
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章