早上好
我有一个c#应用程序,如果您按开始按钮,将打开一个对话框,并且将自动按确定按钮。问题是我不知道该怎么做。
代码如下:
private void Start_Click(object sender, EventArgs e)
{
if (captureDevice.ShowDialog(this) == DialogResult.OK)
{
VideoCaptureDevice videoSource = captureDevice.VideoDevice;
FinalVideo = captureDevice.VideoDevice;
FinalVideo.NewFrame += new NewFrameEventHandler(FinalVideo_NewFrame);
FinalVideo.Start();
}
}
我尝试过:
(1)删除if语句以直接运行其中的内容 (2)在if语句之前放置DialogResult.OK = true (3)if语句之前的captureDevice.DialogResult.OK = true;
答案 0 :(得分:1)
此对话框使您可以选择源捕获设备。如果要绕过此对话框,则应在代码中指定源设备。如果您使用AForge.Net this link可以帮助您。如果没有,请在您使用的组件或库的文档中搜索适当的解决方案。
答案 1 :(得分:0)
向表单添加新按钮。称为“ 设置”。在此按钮的事件处理程序中,您大致将开始按钮的上半部分放入。在 MainForm 中创建一个 Settings 对象,您将在其中存储所选的摄像机。
private void Settings_Click(object sender, EventArgs e)
{
if (captureDevice.ShowDialog(this) == DialogResult.OK)
{
settings.VideoSource = captureDevice.VideoDevice;
}
}
private void Start_Click(object sender, EventArgs e)
{
FinalVideo = settings.VideoSource;
FinalVideo.NewFrame += new NewFrameEventHandler(FinalVideo_NewFrame);
FinalVideo.Start();
}
希望这会有所帮助。
答案 2 :(得分:0)
我找到了解决该问题的方法,并且使用了:
SendKeys.Send(“ {ENTER}”);
我在if语句之前使用了它,并且它与Start_Click方法一起使用,但是当我在称为Start_Vid()的方法中使用它时,出现错误:
'SendKeys无法在此应用程序内运行,因为该应用程序未处理Windows消息。更改应用程序以处理消息,或使用SendKeys.SendWait方法'
我不知道为什么它不起作用以及错误消息的含义,所以我应该创建另一个问题以使其得到回答,或者您可以在这里解决吗?