窗口关闭.程序退出

lvlvlvlylyly 2013-09-29 07:13:04
    static class Program
{

/// <summary>
/// 应用程序的主入口点。
/// </summary>
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
frmLogin frm= new frmLogin();
frm.ShowDialog();
if (frm.DialogResult ==DialogResult .Yes)
{
Application.Run(new frmMain());
}



}


这是我的启动program.cs里的代码,我的问题是,我在frmMain上弹出另一个窗口,非模态的,然后在这个窗口的底下,用右键菜单关闭它的时候,frmMain会退出,但也不是每次都会退出,一般,关闭三次会有一次让frmMain也退出.
在这些窗口上,任何close的代码都没有写,也没有写任何程序退出的代码,真是奇怪了.有知道的吗
...全文
295 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
lvlvlvlylyly 2013-09-30
  • 打赏
  • 举报
回复
已解决,等两天结帖
lvlvlvlylyly 2013-09-29
  • 打赏
  • 举报
回复
因为我弹出的那个是一个GDI+的绘图窗口,我这是第一次写GDI+软件,所有的核心代码,全都在picturebox1_paint里面, 一大堆的变量,局部的,全局的,一大堆的计算,几个大的算法,我TMD全挤在这里面的,哈哈!!! 我刚刚加了一个exit的bool,来让它在paint的时候,可以跳出....加了很多地方.. 然后自己测了一下,已经好了很多了!!! 我再问下:我觉得我这种搞法真的很野蛮,到底GDI+的绘图,显示和采集动作,要怎样分开啊? 我的意思就是那个g,如果是在另一个子过程里,用这个子过程来画picture1....哎.一句话说不清,我反正是把所有的绘图全放在pic1里面的,这样一来,代码超长!!而且,我还用了一个timer,每500MM就强行让它刷一次.这样搞,是非常占资源的....
lvlvlvlylyly 2013-09-29
  • 打赏
  • 举报
回复
已经确认了,是程序崩溃的问题..
_z3422_ 2013-09-29
  • 打赏
  • 举报
回复
你这个并不是程序崩了.我肯定的说. 好像 VS里有一个设定是 当主程序退出时关闭程序 你可能触发了此设定造成程序退出. 所以我的建议是你修改你的程序逻辑.
lvlvlvlylyly 2013-09-29
  • 打赏
  • 举报
回复
frmChuangSheJi 里面有很多很多变量,还有自定义的结构,这些东西,退出窗口的时候要dispose吗? 我加了一句this.dispose().问题照旧...给我的感觉,好象是程序崩了一样,但是又不报任何错误..
lvlvlvlylyly 2013-09-29
  • 打赏
  • 举报
回复
frmMain里 public frmChuangSheJi f1 = null;
lvlvlvlylyly 2013-09-29
  • 打赏
  • 举报
回复
f1是frmMain里面的,我现在有点怀疑不是程序退出了,是不是程序崩了啊? 你看我这些弹出的代码对不对? 弹出的窗口里面我加了一个dispose,也还是一样的问题.. 莫名其妙...f1主要是防止弹出的窗口多开
threenewbee 2013-09-29
  • 打赏
  • 举报
回复
f1 在哪里定义的 else { f1 = new frmChuangSheJi(); f1.Show(); }
lvlvlvlylyly 2013-09-29
  • 打赏
  • 举报
回复
我的感觉,就好象在frmMain上弹出的窗口,会偶尔的自己变成frmMain,所以在关闭它的时候,程序会总体的退出....但也不是每一次,平均三次会退出一次.
            if (f1 != null && f1.Created )
            {
                f1.Show();
                f1.WindowState = FormWindowState.Maximized;
     
            }
            else
            {
                frmChuangSheJi frm = new frmChuangSheJi();
                frm.Show();
            }
这是弹出窗口的代码...有问题吗

110,533

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧