例如我用3个Button打开了3个chatform窗体.现在我想再打开的时候它是激活该Button打开过的chatform窗体..问题是如何打开这个chatform??.如何是直接chatform.Activate();它只会激活第一个的...
如何是如果. 激活我按按钮的那个chatform窗体.应该没有表达错误吧...
C# 如何激活指定窗口?
答案:4 悬赏:80 手机版
解决时间 2021-02-21 14:09
- 提问者网友:谁的错
- 2021-02-20 19:27
最佳答案
- 五星知识达人网友:我住北渡口
- 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,你可以在每个事件里加入你想要生成的代码.
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯