Publicado em C#, Programação, WPF

Como carregar num botão da interface recorrendo à programação (C# WPF)

Carregar num botão de uma interface gráfica é tão simples como pegar no rato e fazer um clique sobre o mesmo!

Mas vamos supor que queremos clicar noutro botão (B2) que, após a execução de uma tarefa, exige que um segundo botão seja também clicado(B1).

exemplobotaoNeste exemplo, sempre que um botão é pressionado, o seu contador é incrementado.

No caso do botão “B2“, após incrementar o seu próprio contador, este “trata de pressionar” o botão “B1“.

O exemplo pode ser descarregado aqui.

Não esquecer de usar nos namespaces:

using System.Windows.Automation.Peers;
using System.Windows.Automation.Provider;

E também a referência seguinte:

ref01O código fonte é o seguinte:

using System;
using System.Windows;
using System.Windows.Automation.Peers;
using System.Windows.Automation.Provider;

namespace botao
{
    /// <summary>
    /// Interaction logic for MainWindow.xaml
    /// </summary>
    public partial class MainWindow : Window
    {
        public MainWindow()
        {
            InitializeComponent();
        }

        private void botao1_Click(object sender, RoutedEventArgs e)
        {
            conta1.Text = (Int32.Parse(conta1.Text) + 1).ToString();
        }

        private void botao2_Click(object sender, RoutedEventArgs e)
        {
            conta2.Text = (Int32.Parse(conta2.Text) + 1).ToString();

            //Carregar no botão 1
            ButtonAutomationPeer peer = new ButtonAutomationPeer(botao1);
            IInvokeProvider invokeProv = peer.GetPattern(PatternInterface.Invoke) as IInvokeProvider;
            invokeProv.Invoke();
        }
    }
}

Fonte: https://joshsmithonwpf.wordpress.com/2007/03/09/how-to-programmatically-click-a-button/

 

 

Anúncios

Deixe uma Resposta

Preencha os seus detalhes abaixo ou clique num ícone para iniciar sessão:

Logótipo da WordPress.com

Está a comentar usando a sua conta WordPress.com Terminar Sessão / Alterar )

Imagem do Twitter

Está a comentar usando a sua conta Twitter Terminar Sessão / Alterar )

Facebook photo

Está a comentar usando a sua conta Facebook Terminar Sessão / Alterar )

Google+ photo

Está a comentar usando a sua conta Google+ Terminar Sessão / Alterar )

Connecting to %s