Form嵌入到Panel里(C#)

直接把这个 Form嵌入到一个 Panel中即可.

示例如下:

要嵌入的 Form:

public partial class FormEmbed : Form
    {
        public FormEmbed()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            this.Hide(); // 不能调用 Close 方法, 因为 Close 后Form被释放,就不能再次Show
        }
    }

主窗体中放置一个容器Panel(或者 TabControl的 TabPage):

 private FormEmbed frmEmbed = new FormEmbed(); // 全局变量
        public Form1()
        {
            InitializeComponent();
        }

         // 显示

        private void button1_Click(object sender, EventArgs e)
        {
            if (frmEmbed != null)
            {

                frmEmbed.FormBorderStyle = FormBorderStyle.None; // 无边框
                frmEmbed.TopLevel = false; // 不是最顶层窗体
                panel1.Controls.Add(frmEmbed);  // 添加到 Panel中
                frmEmbed.Show();     // 显示
            }
        }

       // 隐藏     

        private void button2_Click(object sender, EventArgs e)
        {
            if (frmEmbed != null)
            {
                frmEmbed.Hide();   

           }
        }
时间: 2024-08-14 15:30:56

Form嵌入到Panel里(C#)的相关文章

关于form表单中method里get和post的区别

在html里form可谓不得不用的一条代码,而form里的method选项里只有get和post两种. 因为我们大多数情况下只有post,所以get和post的区别很容易被遗忘. 简单区别来讲: get提交:提交的数据会在ul上进行提交,明文不加密,不安全,提交的数据有限. Post提交:以form表单封装的方式提交,适合提交大量的数据,相对安全. 虽然我们很少用get,但是我们一定常见到这种方式,只是我们很少注意到罢了. 比如,百度的搜索内容就是用的get方式,我们可以在url上看到我们都提交

winform_在panel里添加用户控件

相应的事件里: this.AddCtrlIntoPanel(new Ctrl1.UserControl1()); 在panel里添加用户控件的方法: private void AddCtrlIntoPanel(UserControl ctrl) { this.panel2.Controls.Clear(); this.panel2.Controls.Add(ctrl); ctrl.Dock = DockStyle.Fill; }

汽车Vin码识别——可以嵌入到手机里的新OCR识别技术

汽车Vin码识别(车架号识别),顾名思义,就是识别汽车的Vin码(车架号),汽车Vin码识别(车架号识别)利用的是OCR识别技术,支持视频流获取图像,自动触发识别,另外汽车Vin码识别(车架号识别)sdk支持安卓和ios主流操作平台.便于集成.以汽车维修店为例,以前车相对少,都是人为的抄录下汽车Vin码(车架号)来做记录,不仅慢,还容易出错,比如弄错一位数字,有可能导致解析的发动机型号不正确,那么就会直接影响到维修的正确性和维修进度.因此,北京易泊时代科技有限公司结合汽车Vin码(车架号)主机厂

移动端车牌识别——可以嵌入智能手机系统里的新OCR识别技术

移动端车牌识别技术,是在OCR光学字符识别技术的基础上研发的用来识别汽车号牌特征信息的图像识别技术.在国内,该项技术由北京易泊时代携手清华大学成功地将"国家863计划"项目成果--"文字图像识别技术TH-OCR"产业化,真正实现了TH-OCR技术与市场应用的完美结合. 一.移动端车牌识应用背景 随着我国警务通.停车场手持收费机等移动终端的使用越来越普及,车辆越来越多,对车的管理要高效也是必然的,如果在这些终端上能够集成车牌识别功能,必然省时省力,对于维护交通安全和城

SplitContainer如何实现左导航,右显示与导航相关内容

关于此类型的设计有很多种实现方式,在此我先将我所使用的一种方式介绍一下: 我所实现的方式原理是,将form嵌入到panel中,使其作为一个子窗体.具体代码实现如下: Form form = new DataSelect(); form.FormBorderStyle = FormBorderStyle.None; form.TopLevel = false; splitContainerMain.Panel2.Controls.Clear(); splitContainerMain.Panel2

C# 嵌入第三方EXE界面到panel中

C#可以通过windows API,将第三方程序嵌入到panel中,并且可以隐藏程序边框.问题:焦点在内部程序时,主窗口失去焦点:与内部EXE如何通讯? 代码如下: public partial class FrmIn : Form { public FrmIn() { InitializeComponent(); } [DllImport("User32.dll", EntryPoint = "SetParent")] private static extern

Oracle EBS Form个性化开发

Form个性化开发内容不是很多,在国内的项目上客户化界面上基本用不上,相关开发文档有的讲解的很详细,有的讲解太过简练,希望通过这个文档可以给我们这些刚开始做个性化的新手快速完成需求,不要再这方面花费过多的时间,我们都做过Form开发,可以把Form个性化的开发都用类比Form开发去理解就很快能上手. Form启动时,所有与当前Function相关的个性化规则都会被加载到内存,当Form触发特定的Event时候,系统会搜索相应的个性化规则并进行匹配,得到匹配的规则,再按照规则序号从小到大一次执行对

控制网页的Panel是否显示

在网页上有十二个Panel控件,默认状态是不显示的,根据当前月作为条件去控制对应的Panel控件显示. Insus.NET以下使用三种方法来实现它,先是第一种,使用FindControl方法 第二种方法,使用foreach方法,查找form内所有Panel控件,找到了把Visible的值设为true即可: 第三种,由于月份有12个月份.因此使用for来循环12次: 不管是哪一种方法,运行得到的结果,均如下:

VS C# 嵌入互操作类型

SQLDMO.Restore oRestore = new SQLDMO.RestoreClass(); SQLDMO.SQLServer oSQLServer = new SQLDMO.SQLServerClass(); 在VS2010中编译上述代码,提示“无法嵌入互操作类型“SQLDMO.BackupClass”.请改用适用的接口.” 经过查阅相关资料发现,将引用的Interop.ADOX和Interop.SQLDMO引用属性中的嵌入互操作类型设置为False即可. 具体原理还不是特别理解,