November Black Friday C/C++ week
Black Friday je tu! Využij jedinečnou příležitost a získej až 80 % znalostí navíc zdarma! Více zde
Pouze tento týden sleva až 80 % na e-learning týkající se C/C++

Diskuze: VB (VSTO) + WPF: Přidání eventu k prvku

Aktivity (4)
Avatar
xpb411
Člen
Avatar
xpb411:15. srpna 15:32

Přidat Event k tlačítku (Button), který je ve WPF. Celkově se jedná o VSTO Addin ve VB pro Excel

Kód v XAML (UserControl1­.xaml):

<Window x:Class="TEST.UserControl1"
             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
             xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
             xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
             xmlns:local="clr-namespace:TEST"
             mc:Ignorable="d"
             d:DesignHeight="450" d:DesignWidth="800">
    <Grid>
        <Button Content="TEST Button" HorizontalAlignment="center" Margin="0" VerticalAlignment="Center" Width="75" x:Name="testBtn" Click="TestBtn_Click"/>
    </Grid>
</Window>

Přidám novou obslužnou rutinu události TestBtn_Click.
Kód pro event se vygeneruje viz níže (UserControl1­.xaml.vb):

Public Class UserControl1
    Private Sub TestBtn_Click(sender As Object, e As Windows.RoutedEventArgs)
        MsgBox("Testovací zpráva", MsgBoxStyle.Information)
    End Sub
End Class

Ale stále mi to vyhazuje chybu: BC30456
'TestBtn_Click není člen UserControl1'

Zkusil jsem: Zkoušel jsem to dělat v C# a tam to funguje normálně, asi mi něco uniká a potřeboval bych nakopnout.

Chci docílit: Možná se ptáte proč to nedělám rovnou v C#, ale hodně jsem dělal ve VBA a VB mi přijde k tomu nejblíž. Potřeboval bych tedy poradit jak přidat Eventy k prvkům formuláře.

Předem Vám děkuji za nakopnutí a Váš čas.

xpb.

 
Odpovědět
15. srpna 15:32
Tento výukový obsah pomáhají rozvíjet následující firmy, které dost možná hledají právě tebe!
Avatar
Odpovídá na xpb411
Ondřej Šrytr:18. srpna 13:59

Ahoj,

ve VB .NET už jsem hooodně dlouho nedělal, ale zkusil bych smazat atribut Click u tlačítka testBtn a proceduru (událost) klinutí bych přepsal takto:

Private Sub TestBtn_Click(ByVal sender As System.Object, ByVal e As System.Windows.RoutedEventArgs) Handles testBtn.Click
        MsgBox("Testovací zpráva", MsgBoxStyle.Information)
End Sub

Handles testBtn.Click by mělo navázat událost automaticky na tlačítko.

 
Nahoru Odpovědět
18. srpna 13:59
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 2 zpráv z 2.