2. VypisRadyWPF

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="VypisRadyWPF.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:VypisRadyWPF"
        mc:Ignorable="d"
        Title="Výpis deseti čísel na obrazovku (4 varianty)" Height="350" Width="800">
    <Grid>
        <Grid.RowDefinitions>
            <RowDefinition Height="*"/>
            <RowDefinition Height="Auto"/>
        </Grid.RowDefinitions>
        <TextBox Name="TxtVypis" Height="70" Margin="5" TextWrapping="Wrap" Text="Výpis řady čísel" Width="400" HorizontalContentAlignment="Center"
                 VerticalContentAlignment="Center" Background="AliceBlue" IsReadOnly="True"/>
 
        <StackPanel Grid.Row="1">
            <WrapPanel HorizontalAlignment="Center">
                <Button Name="BtnFor" Content="1. deset For" Margin="5" Width="110" Height="30" Click="BtnFor_Click"/>
                <Button Name="BtnWhile" Content="2. deset While" Margin="5" Width="110" Click="BtnWhile_Click"/>
                <Button Name="BtnDoWhile" Content="3. deset Do While" Margin="5" Width="110" Click="BtnDoWhile_Click"/>
                <Button Name="BtnBezCyklu" Content="4. deset bez Cyklu" Margin="5" Width="110" Click="BtnBezCyklu_Click"/>
                <Button Name="BtnMazat" Content="Mazat" Margin="5" Width="110"/>
            </WrapPanel>
            <WrapPanel HorizontalAlignment="Right">
                <Button Name="BtnKonec" Content="Konec" Margin="5" Width="80" Padding="5" Click="BtnKonec_Click"/>
            </WrapPanel>
        </StackPanel>
    </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 VypisRadyWPF
{
    /// <summary>
    /// Interaction logic for MainWindow.xaml
    /// </summary>
    public partial class MainWindow : Window
    {
        public MainWindow()
        {
            InitializeComponent();
        }
 
        private void BtnFor_Click(object sender, RoutedEventArgs e)
        {
            // Deklarace: 'i' ... řídící proměnná cyklu - čítač (vypisované číslo)
            int i;
 
            // Vymazání předchozí výpisu řady
            this.TxtVypis.Clear();
 
            // Cyklus s krokem (proběhne 10x)
            for (i = 1; i <= 10; i++)
            {
                // Test, zda již bylo vypsáno první číslo...
                if (i > 1)
                {
                    // Přidání čárky za každé číslo
                    this.TxtVypis.Text += ", ";
                }
 
                // Připojení čísla do výpisu na formuláři ('i' konverze na text)
                this.TxtVypis.Text += i.ToString();
            }
        }
 
        private void BtnWhile_Click(object sender, RoutedEventArgs e)
        {
            // Deklarace: 'i' ... řídící proměnná cyklu - inicializace čítače
            int i = 11;
 
            // Vymazání předchozí výpisu řady
            this.TxtVypis.Clear();
 
            // Cyklus s podmínkou na začátku
            while (i <= 20)
            {
                // Test, zda již bylo vypsáno první číslo...
                if (i > 11)
                {
                    // Přidání čárky za každé číslo
                    this.TxtVypis.Text += ", ";
                }
 
                // Připojení čísla do výpisu na formuláři ('i' konverze na text)
                this.TxtVypis.Text += i.ToString();
 
                // Inkrementace čítače o 1
                i++;
            }
        }
 
        private void BtnDoWhile_Click(object sender, RoutedEventArgs e)
        {
            // Deklarace: 'i' ... řídící proměnná cyklu - inicializace čítače
            int i = 21;
 
            // Vymazání předchozí výpisu řady
            this.TxtVypis.Clear();
 
            // Cyklus s podmínkou na začátku
            do
            {
                // Test, zda již bylo vypsáno první číslo...
                if (i > 21)
                {
                    // Přidání čárky za každé číslo
                    this.TxtVypis.Text += ", ";
                }
 
                // Připojení čísla do výpisu na formuláři (konverze 'i' na text)
                this.TxtVypis.Text += i.ToString();
 
                // Inkrementace čítače o 1
                i++;
            }
            // Testování řídící podmínky k vykonání další iterace
            while (i <= 30);
        }
 
        private void BtnBezCyklu_Click(object sender, RoutedEventArgs e)
        {
            // Deklarace: 'i' ... řídící proměnná cyklu - inicializace čítače
            int i = 31;
 
            // Vymazání předchozí výpisu řady
            this.TxtVypis.Clear();
 
            // Výpis čísla na formulář
            TxtVypis.Text = i.ToString();
            // Inkrementace čítače o 1
            i++;
            TxtVypis.Text += ", " + i.ToString();
            i++;
            TxtVypis.Text += ", " + i.ToString();
            i++;
            TxtVypis.Text += ", " + i.ToString();
            i++;
            TxtVypis.Text += ", " + i.ToString();
            i++;
            TxtVypis.Text += ", " + i.ToString();
            i++;
            TxtVypis.Text += ", " + i.ToString();
            i++;
            TxtVypis.Text += ", " + i.ToString();
            i++;
            TxtVypis.Text += ", " + i.ToString();
            i++;
            TxtVypis.Text += ", " + i.ToString();
        }
 
        private void BtnMazat_Click(object sender, RoutedEventArgs e)
        {
            // Vymazání předchozího výpisu řady
            this.TxtVypis.Clear();
        }
 
        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 výpis různých číselných řad - viz Výstup programu - Kód 1 a 2. Výpisy jsou spouštěny pomocí příslušných tlačítek jednotlivých typů cyklů. 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 číselné řady od 1 do 10 pomocí cyklu s krokem