永发信息网

C# 如何激活指定窗口?

答案:4  悬赏:80  手机版
解决时间 2021-02-21 14:09
  • 提问者网友:谁的错
  • 2021-02-20 19:27
例如我用3个Button打开了3个chatform窗体.现在我想再打开的时候它是激活该Button打开过的chatform窗体..问题是如何打开这个chatform??.如何是直接chatform.Activate();它只会激活第一个的...

如何是如果. 激活我按按钮的那个chatform窗体.应该没有表达错误吧...
最佳答案
  • 五星知识达人网友:我住北渡口
  • 2021-02-20 20:48
chatform是同一个类的不同对象实例吧?如果是的话,你在主窗体类上加三个chatform数据成员,在Button的点击事件中,你来实例化该数据成员,并执行chatform1.Show().前面加一个判断,如果主窗体中的该数据成员值为null,则实例化并Show,如果不为null,则证明已经打开了它,直接chatform.Activate(),这样应该可以吧
全部回答
  • 1楼网友:西风乍起
  • 2021-02-20 22:26
[dllimport("user32.dll", entrypoint = "getforegroundwindow")] public static extern int getforegroundwindow(); [dllimport("user32.dll", entrypoint = "setforegroundwindow")] public static extern int setforegroundwindow(int hwnd);
  • 2楼网友:笑迎怀羞
  • 2021-02-20 22:10
何不换个思维,不想打开时设为不可见,想打开时再显示(都是打开的,只不过透不透明而已) 用下面的语句实现 Form f=new Form(); f.Visble=true/false;//可见/不可见 f.Show(); //显示 f.Hide(); //隐藏
  • 3楼网友:不想翻身的咸鱼
  • 2021-02-20 21:54
for (int i = 0; i <= 100; i++) { Button button = new Button(); button.Text = i.ToString(); button.Name = i.ToString(); button.Visible = true; button.Top = i * 25; this.Controls.Add(button); button.Click += new EventHandler(button_Click); } } void button_Click(object sender, EventArgs e) { string str = (((Button)sender).Text.ToString()); Form1 form = new Form1(); form.Show(); } 不清楚你想做什么.上面代码生成100个BUTTON,你可以在每个事件里加入你想要生成的代码.
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯