C# GUI(Winform)

C# 是什么?

依然按照我自己的理解说,C# 是面向对象的、面向组件的编程语言。对我来说,C# 就是编写 GUI 的一种语言之一,C# 还常与 .NET 做联系,这里有官方解释,由于我看不懂就不说了。当然,我学习这个也只是因为 QT 下载太麻烦了,随便学习一下 C# 好与之比较

Windows Forms 和 WPF 桌面应用程序

我选的是 Winform(Windows Forms),现阶段学完了它的基础,看了一下这篇文章,大致了解到 WPF 也是差不多一样的 GUI 设计,只是 WPF 没有直观的工具箱拖拽,基本依靠手写(copy)代码,它使用 XAML 创建控件,也就是主体都在 .xaml 文件中编写代码,现在对我来说可能都差不太多,但我只学了 Winform,另一者便懒得学了(flag)

参考来源

参考了知乎的一个回答:从 MSDN Library 的 C# Programming Guide 部分找找看 Windows Forms 编程的教程,容易上手

这里解释一下:MSDN Library 应该是 Microsoft 自家的信息检索库,可以浏览到很多产品或软件信息(详细看这),但它是离线版的,在线版的可以直接在官网查,我就是这样做的,关于 Winform 的在线版教程点此(我学习的)

示例展品

下面这三个小项目是我跟着 Microsoft 官网教程 做出来的

一、图片查看器

二、计时数学测验

三、配对游戏

PS:我感觉这个代码的 label1_Click 和 timer1_Tick 函数很牛逼(实现了配对成功和配对失败后的图标隐藏),让我明白了原来还能这么玩

制作过程的小提示

① VS 创建项目选择的模板

② 左侧的“工具箱”选项卡的快捷键:Ctrl + Alt + X
③ 如果工具箱是空的,请确保在打开工具箱前选择窗体设计器,而不是窗体的后台代码

制作过程的笔记

① 控件的事件是,只要做目标动作,就能触发,而不是按照代码执行顺序

比如下面中的 click 事件,即只要点击 label 控件就能触发

② Timer 控件只要在别的函数中启动(Start)了,就立即转回自己的函数(timer_Tick)中【自己猜测】

比如下面的两个控件函数,执行顺序是先在 label1_Click 函数中运行 timer1.Start();,然后再到 timer1_Tick 方法中运行,一直运行到 timer1.Stop();

private void label1_Click(object sender, EventArgs e)
{
  ...
  timer1.Start();
}

private void timer1_Tick(object sender, EventArgs e)
{
  ...
  timer1.Stop();
}
posted @ 2021-12-27 14:25  筱团  阅读(2864)  评论(0编辑  收藏  举报