C# winform主次窗体的问题??

舞台中央的我 2008-12-26 09:40:46
主窗体 调用 次窗体 次窗体执行完了 返回主窗体时 怎么 控制住窗体上面 控件的焦点 ?
假如说 主窗体 上有 两个 textbox Tab顺序为 1, 2! 就是说 次窗体返回时 焦点在第二个 上面不再第一个上面 ?(默认的 在第一个上面)


如果控制时 这种情况是在 主窗体控制 还是在此窗体控制?
大家帮忙!
...全文
134 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
呵呵 用timer控件也行啊!
lchh0917 2008-12-26
  • 打赏
  • 举报
回复
顶8楼~
defaultError 2008-12-26
  • 打赏
  • 举报
回复
如果是模式的就是
Form2 frm = new Form2();
frm.ShowDialog();
this.textBox2.Focus();


要是非模式的,可以
public frmMain _mainform;

/// <summary>
/// 主窗体
/// </summary>
public frmMain MainForm
{
set { _mainform = value; }
get { return _mainform; }
}


//加一个带参数的构造函数
public Form1(frmMain main):this()
{
this._mainform = main;
}

然后把主窗体的控件设置为成public 或者加一个公共方法设计该控件的获得焦点

然后在from1关闭时的事件中调用

this.Close();
MainForm.Focus();
MainForm.textBox1.Focus();
//或者调用公共方法,设置焦点

修改 删除 举报 引用 回复
xxyping 2008-12-26
  • 打赏
  • 举报
回复
主窗体控制吧,就在你的次窗体关闭了以后将焦点给你的第二个Textbox
Fibona 2008-12-26
  • 打赏
  • 举报
回复
如果是模式的就是
Form2 frm = new Form2();
frm.ShowDialog();
this.textBox2.Focus();


要是非模式的,可以
public frmMain _mainform;

/// <summary>
/// 主窗体
/// </summary>
public frmMain MainForm
{
set { _mainform = value; }
get { return _mainform; }
}


//加一个带参数的构造函数
public Form1(frmMain main):this()
{
this._mainform = main;
}

然后把主窗体的控件设置为成public 或者加一个公共方法设计该控件的获得焦点

然后在from1关闭时的事件中调用

this.Close();
MainForm.Focus();
MainForm.textBox1.Focus();
//或者调用公共方法,设置焦点
jiaguoli 2008-12-26
  • 打赏
  • 举报
回复
一楼说的很清楚了!
xiaoyanwei2000 2008-12-26
  • 打赏
  • 举报
回复
子窗体设置一个属性来保存激发子窗体的主窗体的控件ID,关闭子窗体后,将主窗体焦点放在该控件ID上
flyjimi 2008-12-26
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 Zhanlixin 的回复:]
在主窗体调用次窗体的地方用如下代码
Form2 frm = new Form2();
frm.ShowDialog();
this.textBox2.Focus();
[/Quote]
正解,在主窗体控制
cpio 2008-12-26
  • 打赏
  • 举报
回复
我感觉子窗口关闭后主窗口焦点不会变吧

如果要手动设置,可以在打开子窗口前记下当前焦点的控件,子窗口关闭后再设置回去

子窗口用模式窗口的话,在主窗口使用设置焦点的代码

如果子窗口用非模式窗口,就比较麻烦了,需要子窗口关闭时调用主窗口设置焦点的代码,或者用事件。
Zhanlixin 2008-12-26
  • 打赏
  • 举报
回复
在主窗体调用次窗体的地方用如下代码
Form2 frm = new Form2();
frm.ShowDialog();
this.textBox2.Focus();

110,536

社区成员

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

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

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