关于C#WinForm 的问题

问题描述

大神们,小弟写WinForm时遇到了一个问题,实在没辙了,跪求解答一下,先谢谢了开门见山,下面代码:主窗体的定义,是单例的publicpartialclassMainForm:Form{privatestaticMainFormmainForm=null;//创建视窗设置的窗口privateMainForm(){InitializeComponent();}//单例模式,返回主窗体的对象publicstaticMainFormgetForm(){if(mainForm==null||mainForm.IsDisposed){mainForm=newMainForm();}returnmainForm;}//这是主窗体中的一个单击事件的回调函数privatevoideagleEye_ItemClick(objectsender,DevExpress.XtraBars.ItemClickEventArgse){EagleEyeFormeagEyeForm=EagleEyeForm.getForm();eagEyeForm.MdiParent=this;eagEyeForm.Show();//问题就在这里了,什么我单击的时候没有显示出子窗体}}下面这个是子窗体的定义,也是单例的publicpartialclassEagleEyeForm:Form{privatestaticEagleEyeFormeagEyeForm=null;privateMainFormMform=MainForm.getForm();//获得主窗口的对象,这里得到主窗体主要是为了下面的逻辑业务,可以不用管privateEagleEyeForm(){InitializeComponent();}publicstaticEagleEyeFormgetForm(){if(eagEyeForm==null||eagEyeForm.IsDisposed){eagEyeForm=newEagleEyeForm();}returneagEyeForm;}

解决方案

解决方案二:
单击主窗体里面的那个事件对应的按钮的时候没有弹出子窗体,为什么呀
解决方案三:
//eagEyeForm.MdiParent=this;

你在主form里设置了那个用来放mdi窗体的控件了吗?如果没得话,将上面这一段注销掉试试
解决方案四:
初次接触C#WinForm编程,小白一枚,求解救啊,没人吗?
解决方案五:
引用2楼娃都会打酱油了的回复:

//eagEyeForm.MdiParent=this;

你在主form里设置了那个用来放mdi窗体的控件了吗?如果没得话,将上面这一段注销掉试试

我把主窗体设置成了mdi
解决方案六:
引用4楼qq_27503569的回复:

Quote: 引用2楼娃都会打酱油了的回复:
//eagEyeForm.MdiParent=this;

你在主form里设置了那个用来放mdi窗体的控件了吗?如果没得话,将上面这一段注销掉试试

我把主窗体设置成了mdi

子窗体是普通窗体,主窗体是MDI窗体,我的目的是将子窗体包含在主窗体里面,是不是我把主窗体设置成单例的原因
解决方案七:
在点击事件里面打个断点看看是否进入到事件中获取单例是否成功
解决方案八:
子窗体.IsMdiChild=true;
解决方案九:
引用7楼crystal_lz的回复:

子窗体.IsMdiChild=true;

可是IsMDIChild是只读的
解决方案十:
引用6楼u012948520的回复:

在点击事件里面打个断点看看是否进入到事件中获取单例是否成功

谢谢您的答复,这个我试过了,好着呢
解决方案十一:
引用8楼qq_27503569的回复:

Quote: 引用7楼crystal_lz的回复:
子窗体.IsMdiChild=true;

可是IsMDIChild是只读的

是吗。。。publicpartialclassForm2:Form{privatestaticForm2m_frm;privateForm2(){InitializeComponent();}publicstaticForm2GetInstance(){if(m_frm==null||m_frm.IsDisposed)m_frm=newForm2();returnm_frm;}}//=====//[this.IsMdiContainer=true]Form2frm=Form2.GetInstance();frm.MdiParent=this;frm.Show();frm.Activate();

一切正常那就是你的问题了自己断点调试吧。。
解决方案十二:
引用10楼crystal_lz的回复:

Quote: 引用8楼qq_27503569的回复:
Quote: 引用7楼crystal_lz的回复:
子窗体.IsMdiChild=true;

可是IsMDIChild是只读的

是吗。。。publicpartialclassForm2:Form{privatestaticForm2m_frm;privateForm2(){InitializeComponent();}publicstaticForm2GetInstance(){if(m_frm==null||m_frm.IsDisposed)m_frm=newForm2();returnm_frm;}}//=====//[this.IsMdiContainer=true]Form2frm=Form2.GetInstance();frm.MdiParent=this;frm.Show();frm.Activate();

一切正常那就是你的问题了自己断点调试吧。。

谢谢你

时间: 2024-09-18 14:15:05

关于C#WinForm 的问题的相关文章

winform实现拼图游戏

一直从事web应用的开发,总感觉是要找个时间学一下winform的开发,恰好年末公司项目基本结束就抽空学一下winform,下面是我一周的学习成果--拼图游戏.   先来个效果图:                                                    图1 图2 实现功能: 1.鼠标点击和键盘方向键操作拼图移动: 2.计分: 3.指定图片文件即可自动切成拼图块: 4.可自定义拼图数目. 图1是原型,图2是最后结果! 代码中通过GameManager类作控制,具体的

C# 图片排版问题 winform 控件拖动 不重叠

问题描述 (图片排版)如图,从右边拖动动态生成的大小不一的矩形到左边,左边不能重叠且图片与图片之间相隔指定的距离,不能超出窗口.求思路,如有例子,不甚感激,c#winform中实现,现有类似软件的一小段视频,望大侠留下邮箱,待在下发给各位参考参考!求指教! 解决方案 解决方案二:判断重叠已经实现,现在想实现的功能是,当拖动的控件(PictureBox)与左边中控件相重叠时,如何阻止其继续往被重叠的控件方向拖动解决方案三:来人啊,救命啊解决方案四:右键锁定控件解决方案五:哥,能否详细点解决方案六:

WinForm控件开发总结(八) 为属性提供弹出式编辑对话框

前几篇文章我们一直在讨论如何更方便的编辑复杂类型的属性,在这个过程中我介绍了类型转换器以 及如何制作自己的类型转换器来实现属性值的串行化和实现子属性的编辑.对于Scope这种级别的复杂属 性,一个类型转换器就已经足够了,但是对于更为复杂的属性,单单使用类型转换器已经不足以应付了, 比如我们常用的Font属性. 在这种情况下,我们就需要提供更为复杂的编辑方式,比如属性编辑对话框,你还记得Font对话框吗 ?现在我们就来看看如何实现更复杂的属性编辑.复杂的属性编辑器分为两种类型,一种是弹出式模态对

C#实现WinForm窗口最小化到系统托盘

  C#编写最小化时隐藏为任务栏图标的 Window appllication.   1.设置WinForm窗体属性showinTask=false 2.加notifyicon控件notifyIcon1,为控件notifyIcon1的属性Icon添加一个icon图标. 3.添加窗体最小化事件(首先需要添加事件引用): this.SizeChanged += new System.EventHandler(this.Form1_SizeChanged); //上面一行是主窗体InitializeC

调用exe-C#调用EXE程序,欢迎界面显示的问题,Winform

问题描述 C#调用EXE程序,欢迎界面显示的问题,Winform C#自己开发的程序,需要调用一个外部的EXE程序.该程序是Release版本,一个单独的程序,有自己的欢迎界面.我调用这个程序的时候,这个程序的欢迎界面的图片总是显示不出来,其他的能显示,比如登陆用户,密码的控件都能显示出来,但是就是欢迎界面的图片不显示,显示的是一个白的空图片. 代码如下所示; Process p; private void pictureBox3_Click(object sender, EventArgs e

程序代码-winform 服务器数据库备份到本地 代码?? 急!急!

问题描述 winform 服务器数据库备份到本地 代码?? 急!急! winform 程序中能将服务器上的数据库备份到本地吗? 提醒:是备份服务器上的 到 本地路径下的数据库!!! 如果可以 请提供代码 谢谢!!!

有个关于winform自适大小的问题

问题描述 有个关于winform自适大小的问题 我的项目开发是在 1920*1080的分辨率下进行的,完成后在低分辨率的机器上运行,动态创建了一个超出分辨率高度的form,导致form中的内容无法全部显示,缩放功能要在form加载之后才能进行,但我form中的内容已经无法全部加载,要怎样去解决这个问题呢,谢谢各位大大帮帮忙,怎么才能让超出的部分加载进来,我知道创建form size是受分辨率限制的,请问有办法解除限制或者是扩大限制么 解决方案 最简单的是把你的控件全部放在一个panel里面,pa

winform和asp.net的问题?

问题描述 winform和asp.net的问题? 大家好,我用winform做了精品课程后台管理系统,实现了用户的注册.上传.下载课件等内容,并且把用户图像照片和课件的相对地址存入了SQL数据库!前台是用asp.net网站!请问asp.net怎么从数据库里面读取用户图像和课件信息并显示呢?用了本地绝对路径,但是asp.net里面还是不显示呀?高手们帮帮忙,谢谢! 解决方案 楼主 这是C#的一些项目实例代码 你可以参考一下http://download.csdn.net/album/detail/

winform程序textbox滚动条保持在最下面 内容不闪烁

在开发winform程序时,会用到textbox控件来显示信息,当把textbox的Multiline属性改为Ture时(即多行显示状态),ScrollBars属性改为Vertical(内容过多时,显示竖状滚动条),显示内容过多时就会出现竖状滚动条. 默认情况下,当textbox内容改变时,winform会自动把textbox的滚动条定位到textbox的最上面.但这显然不是我们想要的结果,比如我们在开发一个聊天程序时,当发送了一条消息后,却还要把滚动条拖到最下面才能看到,这就让人火大了. 所以

邮件-c# winform 窗体保存值的问题

问题描述 c# winform 窗体保存值的问题 主窗体 form1 上面有个按钮button1 点击new到 from2 在form2中 有一个定时器 启动后 每30分钟 发送一封邮件 点击保存后from2 要变隐藏窗体 from2的事件一直在执行 现在回到form1 界面 又点击buttion1 new 到from2 又可以开始定时器了 所以说重复了 用单例模式有问题 隐藏的显示不了 我的目的就想 在form2 隐藏之后 点击from1 的button 1 不会重复启动form2 解决方案