WPF中combobox的IsFocused 不知道为什么控件combobox获得焦点后,IsFocused始终为false即使是利用Focus()获得焦点后IsFocused的值都是falsetextbox控件正常没问题的求解!!!! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 http://social.msdn.microsoft.com/Forums/zh-CN/wpfzhchs/thread/8fa71b13-8b89-413c-a398-871af943868e/你判断isfoucused的时候估计方式有问题,或者判断时候让其失去focus了。你试一下这个: 一个窗体 一个combox 一个button然后 private void button1_MouseEnter(object sender, EventArgs e) { comboBox1.Focus(); bool bl= comboBox1.Focused; }鼠标进入button,跟下断点没问题,结果也没问题。 不行啊,我不是说了focus()后IsIsFocused的值都是false吗??我是这样的private void Window_KeyDown(object sender, KeyEventArgs e) { if(e.Key == Key.Enter) { this.line.Focus(); //line是combobox的name if (this.line.IsFocused) {MessageBox.Show("123");} } }就这样按回车后都不会弹出messagebox的,还有,我的只有IsFocused,没有Focused的!!求解!!!! 还有我在window_load事件上放上this.line.Focus(); 程序启动后光标是的确在combobox上的我在window_load事件上放上this.line.Focus(); if (this.line.IsFocused) {MessageBox.Show("123");}程序启动后光标在combox上,但还是没有弹出messagebox的 sorry 刚才说错了。 你应该看看我给你贴得那个网址的 你需要在load之后设置combox.focuse();给你贴个代码吧。 public partial class Window1 : Window { public Window1() { InitializeComponent(); this.Loaded += delegate { this.comboxLine.Focus(); }; } private void Grid_Loaded(object sender, RoutedEventArgs e) { } private void comboxLine_MouseEnter(object sender, MouseEventArgs e) { if (this.comboxLine.IsFocused) { MessageBox.Show("123456"); } } } 你可以看清我写的代码吗??你在机上运行了是可以的??我的和你的就是一样的,我也用了你的方法,也是不行的,还有同样的代码在textbox上是有效果的。还有光标的确是在combobox上的,但就是不知道为什么IsFocused一直都是false。 1.我运行你的没问题,运行我自己的也没问题。2.建议你重新建个wpf测试下。然后找找原因。 构造函数中设置 loaded之后获取焦点 这个必须有 public Window1() { InitializeComponent(); this.Loaded += delegate { this.comboxLine.Focus(); }; } 跟断点 看一下 什么时候可以触发Grid_KeyDown,LOAD。如果不在构造函数中设置,第一次点击不会触发,原因我不懂,你再查查吧。 现在发现一定要在public Window1(){}上执行combobox.Focus()后,combobox.IsFocused的值才会是true,其他方法执行都没效果的,手动点击焦点移到combobox上也不行。奇怪的是其他控件例如textbox没这个问题,我现在是希望我在combobx按回车时,触发读取数据库信息的方法,现在根本执行不了。请问大家有其他方法吗??? 没人知道怎么弄吗???combobox的isfocused值要怎样弄才能正常???现在光标移动到它那里,isfocused值怎么都是false的,只有在程序初始化时调用focus()后它才会是true,其他情况都不是的。 linq 查询返回datatable C#程序是如何运行的? winform中怎样动态绑定DataGridView中的combox列,要求用代码实现,不用设计时提供的绑定 为什么我的WinForm程序没有配置文件? ACCESS怎么和c#.net连接数据库? 关于c#发送QQ邮件定义发件人的问题 制作帮助文件时,对程序截图上某一个部分的解释说明是怎么作出来的? 内网访问不了服务器网站的问题 经过包装的COM对象(COM Interop)能否存入数据库的字段中 只知道一个.h文件,怎么在C#中使用 delphi中数据类型 C#中如何对应 WCF问题
然后 private void button1_MouseEnter(object sender, EventArgs e)
{
comboBox1.Focus();
bool bl= comboBox1.Focused;
}鼠标进入button,跟下断点没问题,结果也没问题。
{
if(e.Key == Key.Enter)
{
this.line.Focus(); //line是combobox的name
if (this.line.IsFocused)
{MessageBox.Show("123");}
}
}就这样按回车后都不会弹出messagebox的,还有,我的只有IsFocused,没有Focused的!!求解!!!!
this.line.Focus();
if (this.line.IsFocused)
{MessageBox.Show("123");}
程序启动后光标在combox上,但还是没有弹出messagebox的
sorry 刚才说错了。 你应该看看我给你贴得那个网址的
你需要在load之后设置combox.focuse();给你贴个代码吧。 public partial class Window1 : Window
{
public Window1()
{
InitializeComponent();
this.Loaded += delegate
{
this.comboxLine.Focus();
};
} private void Grid_Loaded(object sender, RoutedEventArgs e)
{ } private void comboxLine_MouseEnter(object sender, MouseEventArgs e)
{
if (this.comboxLine.IsFocused)
{
MessageBox.Show("123456");
}
}
}
你可以看清我写的代码吗??你在机上运行了是可以的??我的和你的就是一样的,我也用了你的方法,也是不行的,还有同样的代码在textbox上是有效果的。还有光标的确是在combobox上的,但就是不知道为什么IsFocused一直都是false。
2.建议你重新建个wpf测试下。然后找找原因。
这个必须有
public Window1()
{
InitializeComponent();
this.Loaded += delegate
{
this.comboxLine.Focus();
};
}
现在发现一定要在public Window1(){}上执行combobox.Focus()后,combobox.IsFocused的值才会是true,其他方法执行都没效果的,手动点击焦点移到combobox上也不行。奇怪的是其他控件例如textbox没这个问题,
我现在是希望我在combobx按回车时,触发读取数据库信息的方法,现在根本执行不了。
请问大家有其他方法吗???