您的位置:首页 > 职场人生

黑马程序员—关于WinForm和WPF的一些不同点

2012-05-08 13:02 239 查看
---------------------- Windows Phone 7手机开发.Net培训、期待与您交流! ----------------------
 

一.从不是UI线程去调用UI线程上的控件的解决方法:

1.在winForm中,控件.CheckForIllegalCrossThreadCalls = false; //关闭跨线程访问控件的检查

2.在WPF中,没有CheckForIllegalCrossThreadCalls属性。

  使用委托:

  a. TextBox控件:textBox1.Dispatcher.Invoke(new Action(() => { textBox1.AppendText(msg+"\r\n"); }));

  b. ListBox控件:listBox1.Dispatcher.Invoke(new Action(() => { listBox1.Items.Add(msg); }));

 

二.获取ListBox中选定的项:

在winform中:string name = listBox.Text;

在wpf中:string name = (string)listBox.SelectedItem;

由于SelectedItem返回值是object类型,故要做类型转换。

 

三.对话框

winform中的对话框:

 ShowDialog()返回值是DialogResult类型。

 if(openFileDialog.ShowDialog() == DialogResult.OK) //点击了打开按钮

 {

  string filePath = openFileDialog.FileName;

 }

wpf中的对话框:

 ShowDialog()返回值是bool?类型。

 

 bool? result = openFileDialog.ShowDialog(); //还可以:Nullable<bool> result = openFileDialog.ShowDialog();

 if(result == true) //点击了打开按钮

 {

  string filePath = openFileDialog.FileName;

 }

 

 

---------------------- Windows Phone 7手机开发.Net培训、期待与您交流! ----------------------

详细请查看:http://net.itheima.com/
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息