Добавил:
выбрасываю тут свой мусор, надеюсь, что он кому-то может пригодится... Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

laba1

.docx
Скачиваний:
3
Добавлен:
03.12.2023
Размер:
186.74 Кб
Скачать

Цель работы

Изучение основных видов приложений, разрабатываемых в 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 приложение, оно удобно в применении и у него читаемый код.

Соседние файлы в предмете Объектно-ориентированное программирование