(華)

又碰釘子了~ 一般要创建一个model dialog,我门都会用Form.ShowDialog();但。。。问题就是此ShowDialog()只会创建一个没有Owner的model dialog,所以新创建的model dialog是和main程序拥有相同的parent window。。。就是desktop window了。这样就会造成用户能够同过Running Program里activate main程序的windows去top level window,这样。。。ShowDialog()就不能再达到如.NET Framework里的ShowDialog(Me)的效果。

此问题已在.NET CF v2里解决了,但在期待.NET CF v2的面世之余。。。以下就是两个不同的解决方案,不防讨论下。

方案一:

.NET CF v1的Form.ShowDialog(Me)里的Me在不能用了!'把Form1的Text从Running Program里删除掉
.NET CF v1的Form.ShowDialog(Me)里的Me在不能用了!
Me.Text = ""
.NET CF v1的Form.ShowDialog(Me)里的Me在不能用了!

.NET CF v1的Form.ShowDialog(Me)里的Me在不能用了!
Dim frm As New Form2
.NET CF v1的Form.ShowDialog(Me)里的Me在不能用了!
'把mdel dialog的Text换去跟Form1.Text一样(不如说Demo)所以能够出现在Running Program List里
.NET CF v1的Form.ShowDialog(Me)里的Me在不能用了!
frm.Text = "Demo"
.NET CF v1的Form.ShowDialog(Me)里的Me在不能用了!
'创建model dialog
.NET CF v1的Form.ShowDialog(Me)里的Me在不能用了!
frm.ShowDialog()
.NET CF v1的Form.ShowDialog(Me)里的Me在不能用了!
'还原Form1的Text,所以可以出先在Running Program里
.NET CF v1的Form.ShowDialog(Me)里的Me在不能用了!
Me.Text = "Demo"
.NET CF v1的Form.ShowDialog(Me)里的Me在不能用了!

.NET CF v1的Form.ShowDialog(Me)里的Me在不能用了!
'确定Form1就是下一个visible top level window
.NET CF v1的Form.ShowDialog(Me)里的Me在不能用了!
Me.Capture = True
.NET CF v1的Form.ShowDialog(Me)里的Me在不能用了!
'此是两个Win32API,详细请游览http://www.pinvokenet
.NET CF v1的Form.ShowDialog(Me)里的Me在不能用了!
SetForegroundWindow(GetCapture())
.NET CF v1的Form.ShowDialog(Me)里的Me在不能用了!
Me.Capture = False

方案二:
.NET CF v1的Form.ShowDialog(Me)里的Me在不能用了!'把Form1 hide起来
.NET CF v1的Form.ShowDialog(Me)里的Me在不能用了!
Me.Hide()
.NET CF v1的Form.ShowDialog(Me)里的Me在不能用了!
.NET CF v1的Form.ShowDialog(Me)里的Me在不能用了!
Dim frm As New Form2
.NET CF v1的Form.ShowDialog(Me)里的Me在不能用了!
'创建model dialog
.NET CF v1的Form.ShowDialog(Me)里的Me在不能用了!
frm.ShowDialog()
.NET CF v1的Form.ShowDialog(Me)里的Me在不能用了!
.NET CF v1的Form.ShowDialog(Me)里的Me在不能用了!
'把Form1 show出来
.NET CF v1的Form.ShowDialog(Me)里的Me在不能用了!
Me.Show()

相关文章:

  • 2022-02-07
  • 2022-12-23
  • 2021-04-02
  • 2021-12-14
  • 2021-09-11
  • 2021-07-14
  • 2021-04-07
  • 2021-09-06
猜你喜欢
  • 2021-05-22
  • 2021-11-13
  • 2022-12-23
  • 2021-06-10
  • 2021-12-02
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案