ToolControl disappears if MsgBox MessageBox.Show is called at any time by another .NET Commandor
最後に公開された状態: August 25, 2014No Product Found
不具合 ID 番号
NIM003925
送信されました
August 22, 2006
最終更新日
June 5, 2024
適用対象
No Product Found
見つかったバージョン
9.1
プログラム言語
VB.Net
ステータス
Will Not Be Addressed
開発チームは、この問題またはリクエストを検討した結果、これに対処しないことに決定しました。 問題の「参考情報」セクションに、さらに詳細な説明が示されていることがあります。
参考情報
No Public Explanation
対処法
Workaround: -> NEEDS TO BE DOCUMENTED
*************************************
This problem can be fixed with the following workaround and this workaround needs to be documented (maybe under IToolControl).
The solution is to pass the application window handle to the call of MessageBox using Win32 API function directly.
Try this (C# code):
[ DllImport(“User32.dll”, EntryPoint=”MessageBox”, CharSet=CharSet.Auto)]
public static extern int MsgBox(int hWnd, String text, String caption, uint type);
Then make a call using the imported method passing the application window handle:
MsgBox(m_app.hWnd, “Test box”, “”, 0);
VB.NET
<DllImport("User32.DLL", EntryPoint:="MessageBox", CharSet:=CharSet.Auto)> _
Public Shared Function MBox(ByVal hWnd As Integer, ByVal pCaption As String, ByVal pType As UInt32) As Integer
End Function
OR
Declare Auto Function MBox Lib "user32.dll" _
Alias "MessageBox" (ByVal hWnd As Integer, ByVal txt As String,
ByVal caption As String, ByVal Typ As Integer) As Integer
Now call the function:
MBox(Me.m_pApplication.hWnd, "Testing", "Caption", 0)