フォローする

.NET - モードレスダイアログ表示の際の注意点

更新 : 2017-10-17 08:23:26 UTC

IJCADの.NET APIを使用してモードレスダイアログを表示する為には、
GrxCAD.ApplicationServices.Application.ShowModelessDialog()か
System.Windows.FormsのForm.Show()を使用することで表示する事が可能となります。

IJCADはAutoCADのようにShowModelessDialog()の使用を推奨しているわけではありませんが、
ソースコードの互換性を高めるためにも、前者を使用する方が良いと考えられます。

ただ、IJCADでShowModelessDialog()を使用する際には注意点があります。
AutoCADと同様の関数名ではありますが、完全に互換しきれていないのが現状となります。

 

サンプル

・VB.NET

'モードレスダイアログを表示する
<CommandMethod("SHOWDLG")>
Public Sub ShowModelessDialogSample()

	Dim myDlg As MyForm = New MyForm()
	Application.ShowModelessDialog(Application.MainWindow, myDlg)

End Sub

・C#

//モードレスダイアログを表示する
[CommandMethod("SHOWDLG")]
public void ShowModelessDialogSample()
{
	MyForm myDlg = new MyForm();
	Application.ShowModelessDialog(Application.MainWindow, myDlg);
}

AutoCADではownerをApplication.MainWindow.HandleとIntPtrの値を指定しますが、
IJCADでは上記のサンプルのようにownerを指定する際に、Application.MainWindowと指定します。

 

この記事は役に立ちましたか?
0人中0人がこの記事が役に立ったと言っています
他にご質問がございましたら、リクエストを送信してください

コメント