我使用下面的代码以编程方式创建系统托盘图标,此代码位于类文件中而不是我的主窗体上。我已将contextMenuStrip控件拖到我的主窗体上,我现在需要链接这两个但作为控件如果私有我看不到它。将这两者联系起来的最佳方法是什么?
trayIcon = new NotifyIcon();
trayIcon.Icon = mainForm.Icon;
trayIcon.Text = "Test";
trayIcon.MouseDoubleClick += new MouseEventHandler(this.trayIcon_MouseDoubleClick);
trayIcon.ContextMenuStrip = //help needed here???
全部谢谢
答案 0 :(得分:1)
您可以将contextMenuStrip的Modifiers属性设置为public。
答案 1 :(得分:0)
除了纯粹的肮脏之外,没有什么可以阻止你将主窗体上的contextMenuStrip公开。
答案 2 :(得分:0)
如果您担心公开实际的ContextMenuStrip字段,为什么不提供非私有只读字段。这仍将在主窗体对象中保持一定程度的封装。
public class MainForm { ...
public ContextmenuStrip MyMenuStrip {
get { return contextMenuStrip; }
}
}
然后你可以访问托盘图标的mainForm.MyMenuStrip。