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