私は恐らく答えはノーですが、いくつかの背景です。表示枠線を越えてサイジングロジックが動作するウィンドウにカスタムボーダーを描画するには(ウィンドウ10と同じように)、ウィンドウの周りにレイヤーウィンドウを追加してメッセージをキャプチャし、それらを中央ウィンドウに転送します。これは、フォームが修正されて表示されるまでうまくいきました。その時点で、すべてのエッジウィンドウが自動的に無効になりました。明らかにこれは設計によるものですが、周りに何らかの方法があるかどうかはわかりません。私は中央のウィンドウでエッジウィンドウを所有しようとしましたが、うまくいかなかった。モーダルウィンドウを表示するときに追加のウィンドウをアクティブにする方法はありますか?
また、完全に良いアプローチがあります。それはしかし、モーダル発信者を無効にされないように私は、することができます偽のモーダルウィンドウと思う
public partial class Form1 : Form
{
public Form1()
{
}
protected override void OnClick(EventArgs e)
{
base.OnClick(e);
Form f2 = new Form();
f2.Text = "Non Modal";
f2.Show();
Form f3 = new Form();
f3.Text = "Modal";
f3.ShowDialog(this);
}
}
モーダルダイアログでは、所有者のみが無効になります。どのような設定を実装したのかははっきりしていないので、モーダルダイアログではこれらの追加ウィンドウも無効になります。 – IInspectable
あなたの言ったことが当てはまらないことを実証するための例を追加しました。 – user109078