winform panel显示子窗体】的更多相关文章

private void ZiChuangTi() {//确认当前为子窗体 this.IsMdiContainer = true; //建立个子窗体的对象 Son mySon = new Son(); //确认当前为父窗体 mySon.MdiParent = this; //修改子窗体的属性 //mySon.Dock = DockStyle.Fill; //以当前的Panel 为打开界面 mySon.Parent = panel1; mySon.Show(); } 两个窗体  son为子窗体  …
场景:在mid加载子窗体的时候如果指定WindowState为Maximized,加载完成后主窗体会显示最大化.最小化.关闭的按钮图标. 解决方法: 1.更改主窗体FormMain的属性.制定MainMenuStrip的属性为menuStrip1控件.menuStrip1控件就是主窗体上的菜单栏. 2.在menuStrip1控件的ItemAdded事件中添加一下代码: private void menuStrip1_ItemAdded(object sender, ToolStripItemEv…
今天在做项目时候遇到一个问题,窗体分为左右两部分,要求在左边栏点击按钮时,右边动态加载窗体最后想到用panel实现,经历几次失败,并查找资料后,终于搞定 说明:如果多次切换需加入 panel.clear();清空原有panel内容环境:C# VS2008 方法一:通过给panel加载子元素实现 Form2 form = new Form2(); form.FormBorderStyle = FormBorderStyle.None; //隐藏子窗体边框(去除最小花,最大化,关闭等按钮) form…
要求:为父窗体添加一个类似于加载等待的功能,当窗体点击备份时弹出且覆盖掉窗体 问题一产生:当为弹窗添加控件时,form.show();导致窗体卡死,控件变得透明化; 问题一分析:当窗体show();之后socket方式的传输方式,使线程卡死了,导致弹窗窗体为加载完全就卡死了; 问题一解决:将备份的代码重新开启一个线程进行操作,使主窗体的代码不会卡死 注意:可能会产生跨线程访问问题,注意善用this.invoke(new Action());来解决问题; 问题二:弹窗窗体会被覆盖导致主窗体可能被操…
今天编程的时候,遇到一个问题:在同一个窗体区域加载两个不同的窗体,每次只显示一个子窗体并能够对这两个子窗体做切换. 对于这个问题用panel控件是非常简单的,只要每次清空panel控件上的子窗体,然后加载另一个子窗体即可.代码如下所示: panel1.Clear(); // 清空的是当前panel上的子窗体 panel1.Add(subtabcontrol);//subtabcontrol是另一个子窗体…
可以在MDI主窗体中添加以下方法. //防止打开多个窗体 private bool ShowChildrenForm(string p_ChildrenFormText) { int i; //依次检测当前窗体的子窗体 ; i < this.MdiChildren.Length; i++) { //判断当前子窗体的Text属性值是否与传入的字符串值相同 if (this.MdiChildren[i].Name == p_ChildrenFormText) { //如果值相同则表示此子窗体为想要调…
C#WinForm父级窗体内Panel容器中嵌入子窗体.程序主窗体设计例子 在项目开发中经常遇到父级窗体嵌入子窗体所以写了一个例子程序,顺便大概划分了下界面模块和配色,不足之处还望指点 主窗体窗体采用前面一篇博客设计扁平化窗体 C#自定义Winform无边框窗体 主要思路 this.IsMdiContainer=true;//设置父窗体是容器 Son mySon=new Son();//实例化子窗体 mySon.MdiParent=this;//设置窗体的父子关系 mySon.Parent=pn…
这个问题纠结了两天,今天在一个朋友的帮助下,解决了,其实很简单,但是可能作为新手,接触WPF时间还是短,因此作为一个问题困扰了我. 父窗体部分代码 private void EditInformation_Click(object sender, RoutedEventArgs e) { this.Visibility = Visibility.Hidden;//父窗体隐藏 Page.ALLEdit AE = new Page.ALLEdit(); AE.Owner = this;//指定子窗体…
最近在做 PCL(Portable Class Library)平台的项目,所以发一下自己遇到的问题 MvvmCross 是 PCL 平台的一个 MVVM 框架 地址:https://github.com/MvvmCross/MvvmCross 支持的平台: Silverlight for WP7, WP8 Mono for Android (or Xamarin.Android) MonoTouch for iOS (or Xamarin.iOS) the WinRT XAML framewo…
补充说明: 此问题已经在新版本中解决(15.2.6),方法更加简单,只需要在 MDIChild 窗体的 Create 方法中,将 Ribbon 的 Visible 属性设置为 false 就可以了,且无刷新. ---------------------------------------------------------------------------------------------------- 以下为历史的解决方案 ---------------------------------…
先实例化子窗体jobForm,然后让 jobForm.TransfEvent += job_TransfEvent;显示子窗体 if (jobForm.DialogResult != DialogResult.OK) return; thisjob.JobName = jobNameBx.Text; } 判断子窗体是否点击确定按钮,不是则返回,是则进行传值 子窗体把文件名name传给父窗体. this.DialogResult = DialogResult.OK; this.Close(); 点…
最近开始了一个winform项目,原先一直都是web项目.遇到个问题,就是在框架内,左侧和中间的main都是用panel来实现的form,就是把form窗体打开到panel里,实现左侧是导航,中间是操作区域的效果.中间区域要想控制左侧导航或者顶部导航都是困难的,因为这时没有激活左侧窗体,操作顶部相对容易,因为顶部是父窗体,子窗体操作父窗体的例子很多,百度一下.我之前也写过一篇:winform打开子窗体后,在子窗体中刷新父窗体,或者关闭子窗体刷新父窗体. 同样是子窗体相互操作起来挺困难,可以通过设…
如何将一个窗体显示到一个容器控件中,刚开始想的比较简单,用窗体容器控件添加一般控件的方法,试了一试,代码如下: Form2 frm = new Form2(); this.panel1.Controls.Add(frm); frm.Show(); 但是提示了一个错误:无法将顶级控件添加到控件. 原来窗体是一个顶级控件,是无法将一个顶级控件添加到一个容器中来的.最后在网上找了相关资料,只需要将代码改下即可,还是原来的思路,代码如下: Form2 frm = new Form2(); frm.Top…
出现这种情况一般是 打开了多个MDI的子窗体,打开新窗体的时候关闭其他的子窗体就OK了, 具体代码: foreach (Form form in main.MdiChildren)            {                if (!form.IsDisposed)                {                    form.Close();                }            }…
主窗体:  子窗体: 把子窗体嵌入到主窗体的panel 右侧中: 代码: { public MainForm() { InitializeComponent(); } private void ClosePreForm() { foreach (Control item in this.panelform.Controls) { if (item is Form) { Form objControl = (Form)item; objControl.Close(); } } } private…
原理:利用委托和事件,本文将以图文并茂的例子讲述,告诉我们So Easy ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ 一.窗体展示 首先我们看到是一个父窗体和…
1.主窗体多线程给子窗体传值 解决方案:主要使用委托,因为会出现跨线程错误 主窗体 public FormMain() { InitializeComponent(); //background thread running Action sAction = async () => await CallbackWorkItem(); System.Threading.Tasks.Task task = System.Threading.Tasks.Task.Run(sAction); Syste…
winform打开子窗体后,在子窗体中刷新父窗体,或者关闭子窗体刷新父窗体,搜集了几个方法,列举如下: 一 . 所有权法 父窗体,名称为“fuForm”,在父窗体中有个公共刷新方法,也就是窗体数据初始化方法.如: public void reLoad_method() { //窗体数据初始化方法,fuForm_Load中的全部操作,调用此方法可实现数据的刷新 } fuForm中打开ziForm时需要设置所有者,就是ziForm的所有者是fuForm,代码如下: ziForm _ziForm =…
“用MDI方式打开一个子窗口体后,总是不能最大化显示,明明子窗口体的WindowState设置为Maximized?”,相信有很多人会遇到这的样问题,请按下面的方法设置即可使MDI子窗体最大化: 1.把父窗体的IsMdiContainer设置为True:2.把子窗体的WindowState设置为Normal:3.在父窗体中用下面的方法打开子窗体:private void menuItemsMdiForm_Click(object sender, EventArgs e){     MyChild…
子窗体显示在任务栏时, procedure Tfrm_SendSmartMsg.CreateParams(var Params: TCreateParams);begin  inherited;  Params.WndParent := 0; end; 这时子窗体会在任务栏有单独的按钮,如果这时这个子窗体上又要加一个弹出窗体,如果是普通窗体会把整个应用程序激活,而导致这个子窗体跑到后面去. 把下面一句加到这个弹窗中可解决. procedure Tfrm_MonthCalender.CreateP…
调用窗体(父):Form1,被调用窗体(子):Form2方法1:   所有权法//Form1://需要有一个公共的刷新方法public   void   Refresh_Method(){//...}//在调用Form2时,要把Form2的所有者设为Form1Form2   f2   =   new   Form2()   ;f2.Owner   =   this;f2.ShowDialog()   ;//Form2://在需要对其调用者(父)刷新时Form1   f1   ;f1   =  …
在 WinForm 程序启动时,不显示主窗体的实现方法主要有以下5种,第五种最简单,而且效果也不错,第四种方法也值得推荐. 实例代码如下: //隐藏窗体的方法1/5:不指定任何窗体为主窗体 //注意:通常,在一个程序中,关闭主窗体,就可以关闭应用程序. //但是在没有主窗体中,不行. //只能使用Application.Exit()才能关闭应用程序. //using可以保证Application结束前,关闭MyMainForm using (new Form1()) { Application.…
“用MDI方式打开一个子窗口体后,总是不能最大化显示,明明子窗口体的WindowState设置为Maximized?”,相信有很多人会遇到这的样问题,请按下面的方法设置即可使MDI子窗体最大化: 1.把父窗体的IsMdiContainer设置为True:2.把子窗体的WindowState设置为Normal:3.在父窗体中用下面的方法打开子窗体:private void menuItemsMdiForm_Click(object sender, EventArgs e){     MyChild…
主窗体中代码: public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void btnOpen_Click(object sender, EventArgs e) {//点击弹出方法 FrmChild frmChild = new FrmChild(); frmChild.ShowDialog(); if (frmChild.DialogResult == System.Wind…
以前对WinForm窗体显示和窗体间传值了解不是很清楚 最近做了一些WinForm项目,把用到的相关知识整理如下 A.WinForm中窗体显示 显示窗体可以有以下2种方法: Form.ShowDialog方法 (窗体显示为模式窗体) Form.Show方法 (窗体显示为无模式窗体) 两者具体区别如下: 1.在调用Form.Show方法后,Show方法后面的代码会立即执行 2.在调用Form.ShowDialog方法后,直到关闭对话框后,才执行此方法后面的代码 3.当窗体显示为模式窗体时,单击“关…
C# WinForm 父窗体 子窗体 传值 本次示例效果如下:Form1为父窗体(包含textBox1.button1)Form2为子窗体(包含textBox2.button2) 父窗体给子窗体传值==================1.点击Form1的button1 打开Form2  父窗体给子窗体传值 可以调用重载子窗体的构造函数 直接传入相关数值 public partial class Form1 : Form    {        public Form1()        {   …
常用的Winform窗体传值有两种方式. 1.更改Form.designer.cs文件,将控件的设为Public,供子窗体访问. 在designer.cs文件的最后,找到你的控件声明. private System.Windows.Forms.TextBox textBox1; 更改Private为public,保存即可. 2.利用委托进行窗体传值. 父窗体:Form1 子窗体:Form2 点击Form1,弹出Form2,点击按钮返回值给Form1 首先在Form2中定义委托和事件: //声明委…
原理:利用委托和事件,本文将以图文并茂的例子讲述,告诉我们So Easy ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ 一.窗体展示 首先我们看到是一个父窗体,…
两种方法实现: 第一种,传时间变量,主窗体要不停的刷新数据,占用资源比较大. 第二种,用this,感觉比较好用,建议用这种方法. 举例: 主窗体命名:FormA; 子窗体命名:FormB; 数据绑定方法:DataBind(); 第一种具体实现如下: FormA: 拉一个Timer控件,例: 1>属性设置: 名字:   timer1 Enable:   ture Interval:   1000 2>加载事件 tick:timer1_Tick 3>写代码 (1)定义一个公共静态变量: pu…
//浏览图片 private void btnUp_Click(object sender, EventArgs e) { OpenFileDialog ofd = new OpenFileDialog(); ofd.Title = "选择要上传的图片"; ofd.Filter = "All Files(*.*)|*.*|位图(*.bmp)|*.bmp|JPEG(*.jpg)|*.jpg"; ofd.ShowDialog(); textBox1.Text = ofd…