图形用户界面(GUI)应用程序是与用户交互的直观方式。在C#中,有多种工具和框架可用于创建GUI应用程序,包括Windows Presentation Foundation (WPF)、Windows Forms和Universal Windows Platform (UWP)。本文将深入探讨这些框架的核心概念、特点、使用场景及如何使用它们来构建GUI应用程序。
GUI应用程序通过图形界面与用户进行交互,使用户能够通过图形图标和窗口等元素与程序进行交云。
WPF是用于构建Windows客户端应用程序的现代UI框架,使用XAML作为其界面定义语言。
xml<!-- XAML -->
<Window x:Class="WpfApp.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="350" Width="525">
<Grid>
<Button Content="Click Me" HorizontalAlignment="Left" Margin="50,50,0,0" VerticalAlignment="Top"
Click="Button_Click"/>
</Grid>
</Window>
// C#
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
}
private void Button_Click(object sender, RoutedEventArgs e)
{
MessageBox.Show("Hello, WPF!");
}
}
Windows Forms是.NET Framework的一部分,用于快速开发Windows GUI应用程序。
public class MainForm : Form
{
private Button clickMeButton;
public MainForm()
{
this.Size = new Size(300, 200);
clickMeButton = new Button
{
Text = "Click Me",
Location = new Point(50, 50),
Size = new Size(100, 50)
};
clickMeButton.Click += ClickMeButton_Click;
this.Controls.Add(clickMeButton);
}
private void ClickMeButton_Click(object sender, EventArgs e)
{
MessageBox.Show("Hello, Windows Forms!");
}
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new MainForm());
}
}
UWP是用于构建跨平台Windows应用程序的框架。
xml<!-- XAML -->
<Page x:Class="UwpApp.MainPage"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="using:UwpApp"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d">
<Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
<Button Content="Click Me" HorizontalAlignment="Center" VerticalAlignment="Center"
Click="Button_Click"/>
</Grid>
</Page>
// C#
public sealed partial class MainPage : Page
{
public MainPage()
{
this.InitializeComponent();
}
private void Button_Click(object sender, RoutedEventArgs e)
{
MessageBox.Show("Hello, UWP!");
}
}
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。