早上全部,
我有一个 c# 应用程序,如果您按下开始按钮,将打开一个对话框,并自动按下"确定"按钮。问题是我不知道该怎么做。
代码如下:
private void Start_Click(object sender, EventArgs e)
{
if (captureDevice.ShowDialog(this) == DialogResult.OK)
{
var videoSource = captureDevice.VideoDevice;
FinalVideo = captureDevice.VideoDevice;
FinalVideo.NewFrame += new NewFrameEventHandler(FinalVideo_NewFrame);
FinalVideo.Start();
}
}
我试过:
- 删除 if 语句以直接运行其中的内容
- 把 DialogResult.OK = true 放在 if 语句之前
- CaptureDevice.DialogResult.OK = true 在 if 语句之前;
图像显示了按下启动时的对话框
此对话框允许您选择源捕获设备。如果要绕过此对话框,则应在代码中指定源设备。如果您使用 AForge.Net 此链接可帮助您。如果没有,请在您使用的组件或库的文档中搜索适当的解决方案。
向窗体添加新按钮。称之为">设置"。在此按钮的事件处理程序中,您大致放置了">开始">按钮的现有内容的前半部分。在MainForm中创建一个设置对象,您将在其中存储所选的摄像机。
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();
}
希望这有帮助。
我已经找到了这个问题的解决方案,它使用:
SendKeys.Send("{ENTER}"(;
我在 if 语句之前使用了它,它适用于 Start_Click 方法,但是当我在名为 Start_Vid(( 的方法中使用它时,我收到错误:
'SendKeys 无法在此应用程序内运行,因为该应用程序未处理 Windows 消息。更改应用程序以处理消息,或使用 SendKeys.SendWait 方法。
我不知道为什么它不应该工作以及错误消息的含义,所以我应该创建另一个问题来回答这个问题,或者你认为可以在这里解决吗?