xkaeli 发表于 2011-6-20 09:22:47

求教C#多窗口切换

C#做CAD二次开发时怎么样才能做到窗口1的一个按钮功能为:关闭窗口1、打开窗口2;
两个窗口都为模态对话框,如果隐藏窗口1的话,窗口2经常找不到;
新手接触C#求高手给搞个代码学习学习,不胜感激!!!

Liszt 发表于 2011-6-20 09:34:47

不懂你在说什么

xkaeli 发表于 2011-6-20 09:45:19

回复 Liszt 的帖子

就是
点击A窗口的控件button1,然后A窗口关闭(不要隐藏)、弹出窗口B。

sieben 发表于 2011-6-20 11:03:25

A窗口关闭(不要隐藏)
-----------------------------
窗口关闭了还能不隐藏?

xkaeli 发表于 2011-6-20 11:07:52

回复 sieben 的帖子

我的意思是不要Form.hide();要能实现Form.close();的代码,还烦请指导一下。

sieben 发表于 2011-6-20 11:51:06

本帖最后由 sieben 于 2011-6-20 11:52 编辑

指导不敢,可以讨论一下.是不是说你实现了Hide()的方法呢?能不能把Hide()的方法的代码贴出来呢?

Liszt 发表于 2011-6-20 12:47:41

Dispose()不行?

xkaeli 发表于 2011-6-20 14:10:28

回复 sieben 的帖子

namespace xkaeli_Tools
{
    public partial class Tools_Form : Form
    {
      public Tools_Form()
      {
            InitializeComponent();
      }

      private void DllLoad_Click(object sender, EventArgs e)
      {
      }
      //////////////退出工具箱//////////////////////
      private void cancel_Click(object sender, EventArgs e)
      {
            this.DialogResult = System.Windows.Forms.DialogResult.Cancel;
            this.Close();//关闭窗口
      }
      //////////////绘制梁体横断面//////////////////////
      private void Draw_hdm_Click(object sender, EventArgs e)
      {
            using (Draw_Hdm Temp_form = new Draw_Hdm())
            {
                            this.Hide();//关闭窗口
                App.ShowModalDialog(Temp_form);//弹出子对话框
                this.Show();

            }
      }
    }
}

xkaeli 发表于 2011-6-20 15:07:42

回复 Liszt 的帖子

谢谢这位师兄。用dispose()可是实现关闭第一个窗口,但是弹出来的第二个窗口感觉不像模态的对话框,还可以在CAD和窗口之间切换,请问师兄有解决这个问题的办法没?

sieben 发表于 2011-6-20 15:47:22

本帖最后由 sieben 于 2011-6-20 15:47 编辑

你可以试试把你的下面代码放进对话框的    FormClosed事件里面,或者上面朋友所说的Disposed事件里面,另外你那个using 不用或许好些.
    void Title_Dia_FormClosed(object sender, System.Windows.Forms.FormClosedEventArgs e)
    {
Draw_Hdm Temp_form = new Draw_Hdm()
                App.ShowModalDialog(Temp_form);//弹出子对话框
}
页: [1] 2
查看完整版本: 求教C#多窗口切换