自定义控件中代码:
namespace Produce
{
public partial class BandPanel : UserControl
{
……
private void Print()
{
SetIndex(0);
}
public delegate void AddIndexEventHandle(int index);
public event AddIndexEventHandle AddIndex;
private void SetIndex(int type)
{
AddIndex(type);
}
……
}
}
父窗体中代码:
namespace Produce
{
public partial class Form1 : Form
{
private BandPanel bPanel_Left;
private BandPanel bPanel_Right;
private int _MeiIndex { get; set; }
private int _SnIndex { get; set; }
private object _lock = new object();
public Form1()
{
InitializeComponent();
bPanel_Left = new BandPanel(serverUrl, manager_PSWStr, "通道1");
bPanel_Left.Parent = this.splitContainer1.Panel1;
bPanel_Right = new BandPanel(serverUrl, manager_PSWStr, "通道2");
bPanel_Right.Parent = this.splitContainer1.Panel2;
}
private void Form1_Load(object sender, EventArgs e)
{
bPanel_Left.AddIndex += AddNF803Index;
bPanel_Right.AddIndex += AddNF803Index;
}
void AddNF803Index(int type)
{
lock (_lock)
{
_MeiIndex++;
_SnIndex++;
}
}
……
}
}
在自定义窗体中调用父窗体的方法:
private void test()
{
SetIndex(0);
}