Ekvivalent pro BeforUpdate a AfterUpdate   zodpovězená otázka

VB.NET

Dobrý den, můžete mi někdo poradit zda existuje nějaký jednoduchý ekvivalent ve VB.NET 2008 za "BeforeUpdate" a "AfterUpdate". To znamená aby sledoval změny třeba TextBoxu až po ztrátě Focusu. Děkuji

nahlásit spamnahlásit spam 0 / 2 odpovědětodpovědět

BeforeUpdate/AfterUpdate v čem? Změny v TextBoxu se dají sledovat mnoha způsoby.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Mám ve Formuláři TextBox1 + TextBox2 = TextBox3 a potřebuji aby při každé změně 1 a 2 se 3 přepočítala. Pokud jsem použil KeyDown ta se to počítá při každém stisknutí klávesy. Potřeboval bych to až když myší nebo tab odejdu z textboxu, ale jen v případě změny.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Tak použijte událost Enter/Leave v kombinaci s vlastností Modified.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Myslíte třeba podmínkou?

    Private Sub TextTextBox_Leave(ByVal sender As Object, ByVal e As System.EventArgs) Handles TextTextBox.Leave
        If TextBox1.Modified = True Then
            TextBox3.Text = TextBox2.Text + TextBox1.Text
        End If
    End Sub

Nebo to jde nějak lépe?

nahlásit spamnahlásit spam 0 odpovědětodpovědět

= True je zbytečné a pro slučování řetězců se používá &, ne +.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Jen tak na okraj: Tohle by se dalo velmi snadno udělat ve WPF pomocí Data Bindingu.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Dobrý den, mohl byste mi sem načrtnout jak. Já jsem zkoušel dát jen tak Beep do DataBindingSource CurrentChanged i do CurrentItemChanged a vše mi chodí stejně to znamená když přeskočím ze záznamu do záznamu jako PositionChanged. Děkuji

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Moc rád, píšete, že máte dvě hodnoty (TextBox1 a TextBox2) a třetí hodnotu (TextBox3), která je kombinací dvou předchozích. To může vypadat například takto:

<Window Title="MainWindow" Height="350" Width="525" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" x:Class="MainWindow">
    <StackPanel>
        <TextBox Margin="10" Name="TextBox1" Text=""/>
        <TextBox Margin="10" Name="TextBox2" Text=""/>
        <TextBox Margin="10">
            <TextBox.Text>
                <MultiBinding StringFormat="Text1: '{0}', Text2: '{1}'" UpdateSourceTrigger="PropertyChanged">
                    <Binding ElementName="TextBox1" Path="Text"/>
                    <Binding ElementName="TextBox2" Path="Text"/>
                </MultiBinding>
            </TextBox.Text>
        </TextBox>
    </StackPanel>
</Window>

Edit: Odmažte UpdateSourceTrigger, pokud chcete aby se výsledná hodnota vytvářela až při ztrátě focusu. Také si pročtěte například tento článek, kde se dozvíte něco o tom, jak kombinovat hodnoty, na které nestačí StringFormat (jako třeba součet čísel) pomocí Converteru: http://csainty.blogspot.com/2009/12/wpf-...

nahlásit spamnahlásit spam 0 odpovědětodpovědět
                       
Nadpis:
Antispam: Komu se občas házejí perly?
Příspěvek bude publikován pod identitou   anonym.
  • Administrátoři si vyhrazují právo komentáře upravovat či mazat bez udání důvodu.
    Mazány budou zejména komentáře obsahující vulgarity nebo porušující pravidla publikování.
  • Pokud nejste zaregistrováni, Vaše IP adresa bude zveřejněna. Pokud s tímto nesouhlasíte, příspěvek neodesílejte.

přihlásit pomocí externího účtu

přihlásit pomocí jména a hesla

Uživatel:
Heslo:

zapomenuté heslo

 

založit nový uživatelský účet

zaregistrujte se

 
zavřít

Nahlásit spam

Opravdu chcete tento příspěvek nahlásit pro porušování pravidel fóra?

Nahlásit Zrušit

Chyba

zavřít

feedback