フォローする

.NET - モーダルダイアログからユーザー入力を行う

更新 : 2017-02-02 07:13:12 UTC

IJCAD で Application.ShowModalDialog() を使用して表示したウィンドウフォーム上で、
ボタンのクリックなどのイベントの中でユーザー入力を行う場合は注意が必要です。

イベントハンドラー内で、アクティブなドキュメントとエディターを取得して、
一時的にダイアログを非表示にした後に Editor.GetEntity() をそのまま使用すると、
IJCAD がアクティブになったまま、一切の入力を受け付けなくなってしまいます。

イベントハンドラー内でユーザー入力を行いたい場合は、
EditorUserInteraction を使用して、IJCAD がユーザー入力を行える状態にする必要があります。

 

//モーダルフォームのイベント内で
Document Doc = Application.DocumentManager.MdiActiveDocument;
Editor Ed = Doc.Editor;

using (EditorUserInteraction UI = Ed.StartUserInteraction(this))
{
	PromptEntityResult Res = Ed.GetEntity("\nオブジェクトを選択");
	if (Res.Status != PromptStatus.OK) return;

	...

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

コメント