C# 如何在Windows窗体中用一个按钮控制多个用户控件?
我有一个表单可以动态创建用户控件,每个用户控件都有一个开始按钮和一个停止按钮。有没有办法在表单上设置“全部启动”和“全部停止”按钮 我尝试在单击主窗体按钮时将布尔值设置为true,但一旦创建了用户控件,它就不会检查布尔值 以下是主窗体的代码(vdoPlayer是用户控件):C# 如何在Windows窗体中用一个按钮控制多个用户控件?,c#,forms,user-controls,C#,Forms,User Controls,我有一个表单可以动态创建用户控件,每个用户控件都有一个开始按钮和一个停止按钮。有没有办法在表单上设置“全部启动”和“全部停止”按钮 我尝试在单击主窗体按钮时将布尔值设置为true,但一旦创建了用户控件,它就不会检查布尔值 以下是主窗体的代码(vdoPlayer是用户控件): 我不知道在Form1的按钮单击事件中放入什么来控制其余的。正如我之前所说,我尝试使用布尔值,但没有成功。这可能吗 首先,vdoPlayer需要公开此功能,以便其他对象调用。大概是这样的: public void StartV
我不知道在Form1的按钮单击事件中放入什么来控制其余的。正如我之前所说,我尝试使用布尔值,但没有成功。这可能吗 首先,
vdoPlayer
需要公开此功能,以便其他对象调用。大概是这样的:
public void StartVideo()
{
Player1.VideoSource.Start();
}
public void StopVideo()
{
Player1.VideoSource.Stop();
}
(一旦这些方法就位,该类的单击处理程序和其他功能应该使用这些方法,而不是直接调用VideoSource
上的Start()
和Stop()
此外,表格应保留其所有相关控件的列表。像这样的事情应该可以做到:
public partial class Form1 : Form
{
private List<vdoPlayer> videoPlayers;
public Form1()
{
InitializeComponent();
videoPlayers = new List<vdoPlayer>();
DisplayImage();
}
// etc.
}
public void StartVideo()
{
Player1.VideoSource.Start();
}
public void StopVideo()
{
Player1.VideoSource.Stop();
}
public partial class Form1 : Form
{
private List<vdoPlayer> videoPlayers;
public Form1()
{
InitializeComponent();
videoPlayers = new List<vdoPlayer>();
DisplayImage();
}
// etc.
}
private void StartAllBut_Click(object sender, EventArgs e)
{
foreach (var videoPlayer in videoPlayers)
videoPlayer.StartVideo();
}
private void StopAllBut_Click(object sender, EventArgs e)
{
foreach (var videoPlayer in videoPlayers)
videoPlayer.StopVideo();
}