ですから、それは明らかに単純なことですが、私はすでにこのトピックについて多くの時間を失っています。私には非常に単純な(私の意見ではそうあるべきですが)方法があり、そのタスクは私の親フォームのすべてのボタンを反復処理することです。
ここにあります:
public void SetForeColor(BaseForm frm, Form f)
{
foreach (ToolStripButton button in frm.Controls.OfType<ToolStripButton>())
{
MessageBox.Show("Soles clicked"+" "+f.Name.ToString());
}
}
as値BaseForm frm
を取るべき引数はどこにありますか。MDIparent
私は実際にMDIparent
:を取得する別のメソッドからこのメソッドを呼び出します
protected void LoadForm<T>(ToolStripButton formButton, string buttonText) where T : Form
{
MainForm frm = this.MdiParent as MainForm;
if (frm == null) frm = this as MainForm;
T sendTo;
....
SetForeColor(frm, sendTo);
しかし、私は何の反応もありません。関数はLoadForm<T>
正常に動作しているので、私は間違いを犯していると思いますが、それは私にはforeach
非常に簡単に思えます...