如下,我这么写,运行if语句之后,没有打开文件对话框出现:
if (strRecvReq == "picReq")
{
OpenFileDialog dlg = new OpenFileDialog();
dlg.Title = "选择要发送的图片";
dlg.Filter = "Image files (*.jpg;*.bmp;*.gif)|*.jpg;*.jpeg;*.gif;*.bmp|AllFiles (*.*)|*.*";
if (DialogResult.OK == dlg.ShowDialog())
{
SendPictures(dlg.FileName);
}
}
但是我这么写,就有打开文件对话框出现了:
//选择待发送图片
private void button2_Click(object sender, EventArgs e)
{
OpenFileDialog dlg = new OpenFileDialog();
dlg.Title = "选择要发送的图片";
dlg.Filter = "Image files (*.jpg;*.bmp;*.gif)|*.jpg;*.jpeg;*.gif;*.bmp|AllFiles (*.*)|*.*";
if (DialogResult.OK == dlg.ShowDialog())
{
SendPictures(dlg.FileName);
}
}
请问这是怎么个情况呀,因为特定需要,我不想通过点击按钮来打开对话框。请大侠帮帮忙:)
是否有抛出异常。如调用ole需要STA线程模型。Thread类创建的默认是STA线程模型,ThreadPool中创建的线程默认是MTA线程模型。可以通过线程的的td.SetApartmentState(ApartmentState.STA);方法进行设置。参考:http://q.cnblogs.com/q/48123/
你确定你的if语句是ture? 你把if去掉试下,看对话框是否打开
if (strRecvReq == "picReq")这句后面肯定是没有进来了。
使用窗体加载事件,当窗体加载它就自动出来啦。
谢谢各位啦。if语句判断是结果真的,是我的程序太混乱了,openfiledialog是主窗口里的线程,我把这段程序放到自己新建的一个线程里,所以没有出现对话框。
173844862.Net高级部落
if...if 和if ...else你的第一个if判断后面程序应该没进来