私は、パネルのコンストラクタを介してパネルのコンテキストメニューに設定されています。ContextMenuStripが右クリックされて初めて表示されない
最初に右クリックしても機能しないので、初めて初めての操作になります。
私がいるContextMenuStripのコンストラクタと、このようなロード、フォームのコンストラクターとして、さらにはフラグとタイマーの他の場所でのパネルのコンテキストメニューに、それの割り当てを配置することも試みたが、すべてが同じように作らその結果...
EDIT:(()それは、重要なポイントにカットとして要求されるようにいくつかのコード)
class FiniteAutomationController : System.Windows.Forms.Panel
{
public FiniteAutomationController()
: base()
{
this.ContextMenuStrip = (cms = new ContextMenuStrip());
}
public ContextMenuStrip cms;
}
EDIT:(blaze_125の要求、いくつかのより多くのコード毎)
//at form designer initializecomponents after Controller(FiniteAutomationController)'s initialization
this.Controller.cms.Opening += new System.ComponentModel.CancelEventHandler(this.cms_Load);
//at form code class
static State contextS = null;
static Action contextA = null;
private void cms_Load(object sender, CancelEventArgs e)
{
Controller.cms.Items.Clear();
if ((contextS = FiniteAutomationData.GetStateFrom(mouseX, mouseY)) != null) // Rclick States
{
Controller.cms.Items.Add("Delete"); Controller.cms.Items[0].Click += new EventHandler(cms_DeleteState);
Controller.cms.Items.Add("Rename"); Controller.cms.Items[1].Click += new EventHandler(cms_RenameState);
Controller.cms.Items.Add((contextS.final ? '\u2714' : ' ') + " Final"); Controller.cms.Items[2].Click += new EventHandler(cms_Final);
Controller.cms.Items.Add((contextS.initial ? '\u2714' : ' ') + " Initial"); Controller.cms.Items[3].Click += new EventHandler(cms_Initial);
Controller.cms.Items.Add("Trap"); Controller.cms.Items[4].Click += new EventHandler(cms_Trap);
if (!contextS.error.Equals(""))
{
Controller.cms.Items.Add("Error: " + contextS.error);
Controller.cms.Items[5].Enabled = false;
}
}
else if((contextA = FiniteAutomationData.GetActionFrom(mouseX,mouseY)) != null) // Rclick Action
{
Controller.cms.Items.Add("Delete"); Controller.cms.Items[0].Click += new EventHandler(cms_DeleteAction);
}
else // Rclick null
{
Controller.cms.Items.Add("Add State"); Controller.cms.Items[0].Click += new EventHandler(cms_AddState);
}
}
私たちにいくつかのコードを見せてください。 –
私は推測しているコードを追加しました。このコードがどれだけ問題になるかわかりません... – SHsuperCM
少なくとも、あなたの目標を達成するための努力が示されています。 –