Automatically clicking OK button in c# app

家住魔仙堡 提交于 2019-12-25 02:17:40

问题


Morning all,

I have a c# app where if you press a start button a dialog box will open and the OK button will be automatically pressed. The problem is I don't know how to do this.

The code is below:

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();
       }
    }

I have tried:

(1) removing the if statement to directly run whats inside it (2) put DialogResult.OK = true before the if statement (3) captureDevice.DialogResult.OK = true before the if statement;

Image shows the dialogbox when start is pressed


回答1:


This dialog let you select the source capturing device. If you want to bypass this dialog you should specify source device in your code. if you use AForge.Net this link help you. if not search for appropriate solution in documentation of component or library you use.




回答2:


Add a new button to your form. Call it "Settings". In the event handler for this button, you roughly put the first half of what you have now for the Start button. Create a Settings object in your MainForm in which you will store the camera chosen.

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();
}

Hope this helps.




回答3:


I have sort of found a solution to the question and it was to use:

SendKeys.Send("{ENTER}");

I used it before the if statement and it works with the Start_Click method but when i use it in a method called Start_Vid(), I get the error:

'SendKeys cannot run inside this application because the application is not handling Windows messages. Either change the application to handle messages, or use the SendKeys.SendWait method'

I have no idea why it should not work and what the error message means so should I be creating another question to have this answered or can it be solved in here do you think?



来源:https://stackoverflow.com/questions/52015431/automatically-clicking-ok-button-in-c-sharp-app

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!