Как нажать кнопку включения через исходный код?

#c# #button

#c# #кнопка

Вопрос:

Это exe-файл, который у меня есть;

Я просто хочу нажать кнопку включения внутри кода, а не вручную в форме;

Например, запуск кнопки, выполнение щелчка, включение щелчка (все, что я не знаю);

Как создать exe с включением кнопки, нажатой через код;

Я был бы очень рад, если вы сможете это решить;

Большое вам спасибо за вашу помощь в будущем;

 using Honeygain.Presenters;
using Honeygain.Properties;
using Honeygain.Utilities;
using Honeygain.Views.Events;
using System;
using System.ComponentModel;
using System.Drawing;
using System.Threading;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace Honeygain.Views.Forms
{
  internal class StreamingForm : BaseForm
  {
    private readonly IMainPresenter _presenter;
    private CancellationTokenSource _actionCTS;
    private IContainer components;
    private TableLayoutPanel panel;
    private PictureBox banner;
    private Label title;
    private LinkLabel terms;
    private Label description;
    private TableLayoutPanel buttons;
    private Button disable;
    private Button enable;
    private LinkLabel questions;

    public event EventHandler<FormFailedEventArgs> StreamingToggleFailed;

    public event EventHandler StreamingToggleFinished;

    public event EventHandler StreamingToggleStarted;

    public StreamingForm(IMainPresenter presenter)
    {
      this.InitializeComponent();
      this._presenter = presenter;
    }

    private void OnFormVisibleChanged(object sender, EventArgs e)
    {
      this._actionCTS?.Cancel();
      this._actionCTS = this.Visible ? new CancellationTokenSource() : (CancellationTokenSource) null;
    }

    private void OnTermsLinkClicked(object sender, LinkLabelLinkClickedEventArgs e) => Websites.OpenTermsOfUse();

    private void OnQuestionsLinkClicked(object sender, LinkLabelLinkClickedEventArgs e) => Websites.OpenContentDelivery();

    private async void OnDisableClick(object sender, EventArgs e) => await this.Toggle(false);

    private async void OnEnableClick(object sender, EventArgs e) => await this.Toggle(true);

    private async Task Toggle(bool enable)
    {
      this.Prepare();
      try
      {
        await this.Update(enable);
      }
      catch (TaskCanceledException ex)
      {
        Logger.Instance.Debug((Exception) ex);
      }
      catch (Exception ex)
      {
        this.Fail(ex);
      }
      finally
      {
        this.Finish();
      }
    }

    private void Prepare()
    {
      EventHandler streamingToggleStarted = this.StreamingToggleStarted;
      if (streamingToggleStarted != null)
        streamingToggleStarted((object) this, EventArgs.Empty);
      this.Enabled = false;
    }

    private async Task Update(bool enable)
    {
      StreamingForm streamingForm = this;
      await streamingForm._presenter.SetStreamingStatusAsync(enable, streamingForm._actionCTS.Token);
      streamingForm.Hide();
    }

    private void Fail(Exception exception)
    {
      this.Hide();
      EventHandler<FormFailedEventArgs> streamingToggleFailed = this.StreamingToggleFailed;
      if (streamingToggleFailed == null)
        return;
      streamingToggleFailed((object) this, new FormFailedEventArgs()
      {
        Error = exception
      });
    }

    private void Finish()
    {
      this.Enabled = true;
      EventHandler streamingToggleFinished = this.StreamingToggleFinished;
      if (streamingToggleFinished == null)
        return;
      streamingToggleFinished((object) this, EventArgs.Empty);
    }

    protected override void Dispose(bool disposing)
    {
      if (disposing amp;amp; this.components != null)
        this.components.Dispose();
      base.Dispose(disposing);
    }

    private void InitializeComponent()
    {
      ComponentResourceManager componentResourceManager = new ComponentResourceManager(typeof (StreamingForm));
      this.panel = new TableLayoutPanel();
      this.banner = new PictureBox();
      this.terms = new LinkLabel();
      this.buttons = new TableLayoutPanel();
      this.disable = new Button();
      this.enable = new Button();
      this.questions = new LinkLabel();
      this.description = new Label();
      this.title = new Label();
      this.panel.SuspendLayout();
      ((ISupportInitialize) this.banner).BeginInit();
      this.buttons.SuspendLayout();
      this.SuspendLayout();
      componentResourceManager.ApplyResources((object) this.panel, "panel");
      this.panel.Controls.Add((Control) this.banner, 0, 0);
      this.panel.Controls.Add((Control) this.terms, 0, 4);
      this.panel.Controls.Add((Control) this.buttons, 0, 7);
      this.panel.Controls.Add((Control) this.questions, 0, 5);
      this.panel.Controls.Add((Control) this.description, 0, 2);
      this.panel.Controls.Add((Control) this.title, 0, 1);
      this.panel.Name = "panel";
      componentResourceManager.ApplyResources((object) this.banner, "banner");
      this.banner.Image = (Image) Resources.streaming;
      this.banner.Name = "banner";
      this.banner.TabStop = false;
      this.terms.ActiveLinkColor = Color.FromArgb(7, 100, 146);
      componentResourceManager.ApplyResources((object) this.terms, "terms");
      this.terms.ForeColor = Color.FromArgb(118, 133, 141);
      this.terms.LinkColor = Color.FromArgb(0, 147, (int) byte.MaxValue);
      this.terms.Name = "terms";
      this.terms.TabStop = true;
      this.terms.UseCompatibleTextRendering = true;
      this.terms.LinkClicked  = new LinkLabelLinkClickedEventHandler(this.OnTermsLinkClicked);
      componentResourceManager.ApplyResources((object) this.buttons, "buttons");
      this.buttons.Controls.Add((Control) this.disable, 0, 0);
      this.buttons.Controls.Add((Control) this.enable, 2, 0);
      this.buttons.Name = "buttons";
      componentResourceManager.ApplyResources((object) this.disable, "disable");
      this.disable.BackColor = Color.White;
      this.disable.ForeColor = Color.FromArgb(11, 152, 222);
      this.disable.Name = "disable";
      this.disable.UseVisualStyleBackColor = false;
      this.disable.Click  = new EventHandler(this.OnDisableClick);
      componentResourceManager.ApplyResources((object) this.enable, "enable");
      this.enable.BackColor = Color.FromArgb(11, 152, 222);
      this.enable.ForeColor = Color.White;
      this.enable.Name = "enable";
      this.enable.UseVisualStyleBackColor = false;
      this.enable.Click  = new EventHandler(this.OnEnableClick);
      this.questions.ActiveLinkColor = Color.FromArgb(7, 100, 146);
      componentResourceManager.ApplyResources((object) this.questions, "questions");
      this.questions.ForeColor = Color.FromArgb(118, 133, 141);
      this.questions.LinkColor = Color.FromArgb(0, 147, (int) byte.MaxValue);
      this.questions.Name = "questions";
      this.questions.TabStop = true;
      this.questions.UseCompatibleTextRendering = true;
      this.questions.LinkClicked  = new LinkLabelLinkClickedEventHandler(this.OnQuestionsLinkClicked);
      componentResourceManager.ApplyResources((object) this.description, "description");
      this.description.ForeColor = Color.FromArgb(118, 133, 141);
      this.description.Name = "description";
      componentResourceManager.ApplyResources((object) this.title, "title");
      this.title.ForeColor = Color.FromArgb(14, 65, 88);
      this.title.Name = "title";
      componentResourceManager.ApplyResources((object) this, "$this");
      this.Controls.Add((Control) this.panel);
      this.Name = nameof (StreamingForm);
      this.VisibleChanged  = new EventHandler(this.OnFormVisibleChanged);
      this.panel.ResumeLayout(false);
      this.panel.PerformLayout();
      ((ISupportInitialize) this.banner).EndInit();
      this.buttons.ResumeLayout(false);
      this.ResumeLayout(false);
      this.PerformLayout();
    }
  }
}```
  

Комментарии:

1. На какую кнопку вы ссылаетесь?

2. кнопка включения..

3. this.enable = новая кнопка (); / это кнопка, которая называется enable

Ответ №1:

Вы могли бы использовать .PerformClick(); , чтобы щелкнуть его в программе.

Комментарии:

1. где и как я очень, очень новичок

2. Я знаю, что вы могли бы использовать эту функцию для нажатия кнопки. Я до сих пор не знаю, где в вашем коде вы хотите щелкнуть, не могли бы вы стереть весь файл и опубликовать только ту строку, на которой вы хотите нажать кнопку, или написать номер строки.

3. this.enable = новая кнопка (); / это кнопка, которая называется enable

4. Попробуйте это.включить. Выполнить щелчок ();

Ответ №2:

Если вы хотите, чтобы при загрузке формы на нее нажимали только один раз, создайте событие OnLoad и добавьте:

 this.enable.PerformClick();
  

Таким образом, будут созданы объекты (кнопки), и вы сможете щелкнуть по ним.