対象商品:IJCAD2016以前
IJCADの.NET APIを使用してモードレスダイアログを表示する為には、
GrxCAD.ApplicationServices.Application.ShowModelessDialog()か
System.Windows.FormsのForm.Show()を使用することで表示する事が可能となります。
IJCADはAutoCADのようにShowModelessDialog()の使用を推奨しているわけではありませんが、
ソースコードの互換性を高めるためにも、前者を使用する方が良いと考えられます。
ただ、IJCADでShowModelessDialog()を使用する際には注意点があります。
AutoCADと同様の関数名ではありますが、完全に互換しきれていないのが現状となります。
なお、IJCAD2017以降のIJCADでは、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と指定します。