laba1
.docxЦель работы
Изучение основных видов приложений, разрабатываемых в VisualStudio и выполняемых под управлением Windows. Знакомство со структурой, назначением и особенностями функционирования каркаса NetFramework.
Задание на лабораторную работу
Разработать приложение Windows, которое при загрузке приветствует студента по имени, а при выгрузке прощается с ним. При этом фразы приветствия и прощания должны располагаться в ресурсах, а имя студента в настройках программы. Необходимо разработать три вида Windows приложений: консольное, WinForms и WPF.
1.Консольное приложение
using System;
namespace ConsoleApp1only
{
class Program
{
static void Main(string[] args)
{
Console.Write(ConsoleApp1only.Properties.Resources.ResHello + ConsoleApp1only.Properties.Settings.Default.Name+" \n");
Console.Write("Нажмите любую клавишу, чтобы выйти");
Console.ReadLine();
Console.Write(ConsoleApp1only.Properties.Resources.ResBye + ConsoleApp1only.Properties.Settings.Default.Name + " \n");
}
}
}
Структура сборки
2.WinForms
using System;
using System.Windows.Forms;
namespace WindowsFormsApp1
{
public partial class Form1 : Form
{ public Form1()
{InitializeComponent();
MessageBox.Show(WindowsFormsApp1.Properties.Resources.ResHello +" "+ WindowsFormsApp1.Properties.Settings.Default.Name);
}
private void Button1_Click(object sender, EventArgs e)
{
MessageBox.Show(WindowsFormsApp1.Properties.Resources.ResBye + " " + WindowsFormsApp1.Properties.Settings.Default.Name);
this.Close();
}
}
}
Структура Сборки
3.WPF
using System;
using System.Windows;
namespace WpfApp1
{
/// <summary>
/// Логика взаимодействия для MainWindow.xaml
/// </summary>
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
}
private void MainWindowLoaded(object sender, EventArgs e)
{
MessageBox.Show(WpfApp1.Properties.Resources.ResHello + " " + WpfApp1.Properties.Settings.Default.Name);
}
private void MainWindowClosed(object sender, EventArgs e)
{
MessageBox.Show(WpfApp1.Properties.Resources.ResBye + " " + WpfApp1.Properties.Settings.Default.Name);
}
}
}
XAML-код
<Window x:Class="WpfApp1.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:WpfApp1"
mc:Ignorable="d"
Title="Лабораторная работа №1" Height="450" Width="800"
Loaded="MainWindowLoaded"
Closed="MainWindowClosed"
>
<Grid Margin="10,0,0,0">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="30*"/>
<ColumnDefinition Width="361*"/>
</Grid.ColumnDefinitions>
<Label x:Name="Label" FontSize ="20" Content="Нажмите крестик и выйдите" Grid.Column="1" HorizontalAlignment="Center" Height="60" Margin="180,158,226,0" VerticalAlignment="Top" Width="316"/>
</Grid>
</Window>
Структура сборки
Вывод
Консольное приложение более простое, быстрое и удобное в задачах требующих наличие текстового результата работы программы, а не его визуальное представление. Оно лучше подходит для начала обучения создания приложений. В реализации красивого дизайна лучше использовать WPF и WinForms, но в WPF приложении более удобное и в нем есть абсолютное разделение графики и логики программы, можно писать алгоритмы, не думая о графическом интерфейсе. У WPF также есть и минусы: XAML сложен для понимания, в самом приложении нехватка простоты WinForms.
Для меня более удобным стало WinFroms приложение, оно удобно в применении и у него читаемый код.