|
皆様、返信ありがとうございます。
色々順序をはしょりすぎてました、すみません。
状況は、 フォームにコンテキストメニューを付け、 コンテキストメニューから子フォームを開くと、現象が起きる。
指摘道理、別プロジェクトで試してみた所うまくいきました。 色々試してみた結果、 コンテキストメニューの初期化、呼び出し設定を、 ロード時に1度だけ行った物を使用すると起こるようです。 (何故駄目なのかが、勉強不足でよくわかりませんが…)
無事解決できました。 色々ご指摘ありがとうございました。
============以下原因のソース=========================
public partial class Form1 : Form {
private ContextMenu contextMenu1;
public Form1() { InitializeComponent();
//ここでコンテキストメニューを呼んでいるのが問題らしい。 contextMenu1 = new ContextMenu(); contextMenu1.MenuItems.Add("子を開く", new EventHandler(menu_open));
this.ContextMenu = contextMenu1; this.MouseUp += new MouseEventHandler(Form_MouseUp); }
private void Form_MouseUp(object sender, MouseEventArgs e) { if (e.Button == MouseButtons.Right) { //問題個所をこちらに書くとうまくいく
//コンテキストを表示 this.ContextMenu.Show(this, new Point(e.X, e.Y)); } }
private void menu_open(object sender, System.EventArgs e) { Form f = new Form2(); f.StartPosition = FormStartPosition.CenterParent; f.ShowDialog(); f.Dispose(); } }
|