黑马程序员—关于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/
一.从不是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/
相关文章推荐
- 黑马程序员_WPF和winform的不同
- winform学习之-----关于按键操作的一些小知识(如何获取焦点所在的当前控件)20160623
- 黑马程序员—关于winform中如何快速布局管理大量控件
- 关于WinForm引用WPF窗体
- c# winform 关于DataGridView的一些操作
- 关于适配不同分辨率的一些心得
- WPF与Winform中的不同(1)
- 黑马程序员关于Ado。Net的一些总结
- Wpf和WinForm在窗体中处理用户自定义消息的不同方式
- winForm改写到WPF的一些常见变化
- 黑马程序员-关于this的一些感悟
- c# winform 关于DataGridView的一些操作
- 黑马程序员-关于Java IO流的一些理解
- WPF:关于Slider控件的一些说明
- WPF与输入法冲突研究之三:韩文输入法在不同平台,WinForm/WPF下的区别
- 黑马程序员_winform和wpf学习
- 关于WinForm引用WPF窗体---在Winform窗体中使用WPF控件
- 关于WPF Control.Visibility 的一些体会
- 黑马程序员—OC(关于OC的一些简单介绍及使用)
- 关于项目不同角度的一些看法