Převod sekund
Abschlussbedingungen
2. PrevodSekundWPF
2.5. Výsledný kód
XAML kód
Výsledný XAML kód formuláře (MainWindow.xaml) - viz Kód 1.
<Window x:Class="PrevodSekundWPF.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:local="clr-namespace:PrevodSekundWPF" mc:Ignorable="d" Title="Převod" Height="350" Width="500"> <Grid> <Grid.ColumnDefinitions> <ColumnDefinition Width="*"/> <ColumnDefinition Width="*"/> </Grid.ColumnDefinitions> <Grid.RowDefinitions> <RowDefinition Height="*"/> <RowDefinition Height="Auto"/> <RowDefinition Height="*"/> <RowDefinition Height="Auto"/> </Grid.RowDefinitions> <StackPanel Grid.Row="1" Grid.Column="0" Margin="20,20"> <Label Content="Celkem sekund:" FontWeight="Bold" FontSize="14"/> <TextBox Name="TxtCelkem" ToolTip="Zadejte celkový počet sekund" /> </StackPanel> <StackPanel Grid.Row="1" Grid.Column="1" Margin="20,20"> <Label Content="Hodin:" FontWeight="Bold" FontSize="14"/> <TextBox Name="TxtHodin" Background="AliceBlue" IsReadOnly="True" /> <Label Content="Minut:" FontWeight="Bold" FontSize="14" Margin="0,10,0,0"/> <TextBox Name="TxtMinut" Background="AliceBlue" IsReadOnly="True" /> <Label Content="Sekund:" FontWeight="Bold" FontSize="14" Margin="0,10,0,0"/> <TextBox Name="TxtSekund" Background="AliceBlue" IsReadOnly="True" /> </StackPanel> <Button Name="BtnPrevod" Content="Převod" Grid.Row="3" Grid.Column="0" Margin="5,10" Width="100" VerticalAlignment="Center" Click="BtnPrevod_Click"/> <Button Name="BtnKonec" Content="Konec" Grid.Row="3" Grid.Column="1" Margin="5,10" Width="100" VerticalAlignment="Center" Click="BtnKonec_Click"/> </Grid> </Window>
Kód 1: Výsledný XAML kód vytvořeného formuláře
C# kód
Code Behind - C# kód pro veškeré události vyvolané uživatelem při manipulaci s aplikací (MainWindow.xaml.cs) - viz Kód 2.
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows; using System.Windows.Controls; using System.Windows.Data; using System.Windows.Documents; using System.Windows.Input; using System.Windows.Media; using System.Windows.Media.Imaging; using System.Windows.Navigation; using System.Windows.Shapes; namespace PrevodSekundWPF { /// <summary> /// Interaction logic for MainWindow.xaml /// </summary> public partial class MainWindow : Window { public MainWindow() { InitializeComponent(); } private void BtnPrevod_Click(object sender, RoutedEventArgs e) { //deklarace celočíselných proměnných int celkem, hodin, minut, sekund; //pokud proběhne konverze textu na celé číslo potom... if (int.TryParse(TxtCelkem.Text, out celkem)) { //celočíselné dělení hodin = celkem / 3600; //zbytek po celočíselném dělení celkem = celkem % 3600; minut = celkem / 60; sekund = celkem % 60; //převod vypočtené hodnoty na číslice a výpis v objektu na formuláři this.TxtHodin.Text = hodin.ToString(); this.TxtMinut.Text = minut.ToString(); this.TxtSekund.Text = sekund.ToString(); } //jinak... else { TxtCelkem.Focus(); } } private void BtnKonec_Click(object sender, RoutedEventArgs e) { //zavření formuláře this.Close(); } } }
Kód 2: Výsledný C# kód vytvořeného formuláře a metod jeho prvků
Výstup programu
Na následujícím obrázku vidíme výstup naší aplikace pro převod celkového počtu sekund na hodiny, minuty a sekundy s použitím prvků WPF - viz Výstup programu - Kód 1 a 2. Převod je spuštěn pomocí tlačítka Převod. Aplikaci lze ukončit pomocí tlačítka Konec, nebo pomocí zavíracího tlačítka umístěného v pravém rohu aplikace.
Výstup programu - Kód 1 a 2: Výpis vypočtených hodin, minut a sekund ze zadaného celkového počtu sekund