关于c# winform wince的两个问题

最近用c#在wince5.0设备上开发了个winform小程序,期间遇到两个问题,折腾了好久,还是没解决。
问题1:关于OpenFileDialog.InitialDirectory

 OpenFileDialog dlg = new OpenFileDialog();
 dlg.InitialDirectory = Login.sFilePath;
 dlg.Filter = "txt files (*_out.txt)|*_out.txt";
     代码如上,如果加上第二句话(dlg.InitialDirectory = Login.sFilePath;),当执行到这句话的时候,dlg立马会被关闭。如果不加这句话,就能正常显示。

问题2:关于“stackoverflowexception”的问题

当弹出太多“MessageBox”时,会出现“stackoverflowexception”的异常。基于这个问题,现在处理的方法是:按键盘上的某个键,触发关闭MessageBox的事件,代码如下。下面这个函数,确定可以关闭MessageBox,但是,当弹出多个MessageBox时,还是会出现“stackoverflowexception”异常。
private void KillMessageBox()
{
IntPtr ptr = FindWindow(null, "title");
if (ptr != IntPtr.Zero)
{
PostMessage(ptr, WM_CLOSE, IntPtr.Zero, IntPtr.Zero);
}
}

基于以上两个问题:1.在wince系统下,OpenFileDialog如何设置初始的路径?;2.上面的代码,如何修改,才能避免出现“stackoverflowexception”异常?

2个回答

Login.sFilePath;的值是什么?是否为null
另一个问题,检查代码中是否有过深的递归,或者事件中又触发了新的事件

关于OpenFileDialog.InitialDirectory,请参考:
https://technet.microsoft.com/zh-cn/magazine/system.windows.forms.filedialog.initialdirectory(VS.80).aspx

关于“stackoverflowexception”的问题
请设置一个全局变量,记录MessageBox的弹出状态,禁止弹出多个。

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐