C#学习总结(慢慢更新中)

C#从零开始学习(图文教程),持续更新中~ 理论知识固然重要,但是只读理论往往是枯燥的,只有通过不断的实践和探索,才能更高效的进行学习。 阅读详情
 

1.  窗体的opacity属性可以实现窗体的渐显效果,窗体的TopMost属性this.TopMost=True可以是程序始终在前面.

2.  通过设置PictureBox的Dock属性和添加spliter控件可以实现窗体的分割.

3.  C#中添加API函数的方法,以SetMenuItemBitmaps为例子

[System..Runtime.Interopservices.DllImport(“user32”)]

Private static  extern int SetMenItemBitmaps{Intptr hMenu,int nPosition,int wFlags,IntPtr hBitmapUnchecked,IntPtr hBitmapChecked };

Const int MF_BYPOSITION=0x0400;

4. 实现渐变窗口背景的方法

   添加System.Drawing.Drawing2D空间的引用

   private void Form1_Paint(object sender, System.Windows.Forms.PaintEventArgs e)

         {

              Graphics g=e.Graphics ;

              Color fcolor=Color.Blue ;

              Color Tcolor=Color.Yellow ;

     Brush b=new LinearGradientBrush (this.ClientRectangle ,fcolor,Tcolor,LinearGradientMode.ForwardDiagonal );

              g.FillRectangle (b,this.ClientRectangle );

         }

 

         private void Form1_Resize(object sender, System.EventArgs e)

         {

              this.Invalidate ();

         }

5.通过添加NotifyIcon、ContestMenu组件可以实现状态栏的状态区的使用.

参考代码:

static void Main()

         {

              Form1 f1=new Form1 ();

              f1.notifyIcon1 .Icon =new System .Drawing .Icon ("..//..//BICYCLE.ICO");

              f1.notifyIcon1 .Visible =true;

              f1.notifyIcon1 .Text ="BICYCLE";

              Application.Run ();

         }

 

         private void menuItem1_Click(object sender, System.EventArgs e)

         {

              Application.Exit ();

         }

private void timer1_Tick(object sender, System.EventArgs e)

         {

              if(notifyIcon1.Text =="BICYCLE")

              {

                   notifyIcon1.Icon =new System .Drawing .Icon ("..//..//CARS.ICO");

                   notifyIcon1.Text ="CARS";

}

              else

              {

                   notifyIcon1.Icon =new System .Drawing .Icon ("..//..//BICYCLE.ICO");

                   notifyIcon1.Text ="BICYCLE";

              }

         }

6.使用StatusBar控件实现状态栏信息的更新

参考代码:

private void Form1_Load(object sender, System.EventArgs e)

         {

              statusBar1.Panels .Add ("one");

              statusBar1.Panels [0].AutoSize =StatusBarPanelAutoSize.Spring ;

              statusBar1.Panels [0].Icon =new System .Drawing .Icon ("..//..//app.ico");

              statusBar1.Panels [0].BorderStyle =StatusBarPanelBorderStyle.Sunken;

              statusBar1.ShowPanels =true;

 

         }

 

         private void timer1_Tick(object sender, System.EventArgs e)

         {

              statusBar1.Panels [0].Text =DateTime.Now .ToString ();

         }

     }

7.在C#中使用动画光标的方法

使用SetCursor和LoadCursorFromFile二个API函数,

参考代码:

[DllImport("user32")]

              private static extern IntPtr SetCursor(IntPtr hCursor);

         [DllImport("user32")]

              private static extern IntPtr LoadCursorFromFile(string lpFileName);

         const int WM_SETCURSOR=0X0020;

         protected override void WndProc(ref System.Windows .Forms .Message  m)

         {

              switch(m.Msg )

              {

                   case WM_SETCURSOR:

                       IntPtr hCursor;

                       hCursor=LoadCursorFromFile("..//..//1.ani");

                       SetCursor(hCursor);

                       break;

                   default:

                       base.WndProc (ref m);

                       break;

              }

         }

关于C#的学习路径 持续关注.NET 8/9路线图,提前布局AOT编译、WebAssembly等前沿方向。具备跨平台开发能力(Windows/Linux/macOS)池化技术(ArrayPool/MemoryPool)高性能编程(Span<T>/MemoryPool)异步流(IAsyncEnumerable)微服务通信(gRPC/WebSocket)云原生应用开发(Azure/AWS集成)Clean Architecture实现。大数据处理(Azure Synapse)深度学习加速(TorchSharp) 阅读详情

相关推荐

Unity3D开发中热更新为什么不能使用C#的思考

他们说   阅读了网上一些文章,其实使用C#进行热更新是可以的,将需要更新的代码打包成程序集,然后利用反射即可,但是也提到在IOS平台是不行的,至于为什么不行,就不再说了,然后就是推荐Lua作为热更新方案,但是,为啥Lua就行?C#就不行? 因为C#是编译型语言,Lua是解释型语言?   好多人都说Lua能热更新,是因为它是解释型语言,不用编译,在运行时能动态解释Lua代码并运行。这种方...

张Da夫 6220

利用API解决C#鼠标Cursor手型为系统默认主题的手型而不是自定义主题的手型的问题

利用API修复C#手型一直保持默认的bug

qq_30355261的博客 391

C#热更新方案的选择

前项目的C#热更方案 小甜甜的C#热更方案 前段时间 noodle 说他把 小甜甜 项目中他做的 C#热更方案 开源了。 这个方案是一个 骚操作,不过是针对 il2cpp 的,核心思想是更新 libil2cpp.so,具体细节可以参考 github主页。 暗黑血统的C#热更方案 再早一点的项目 暗黑血统,那还是 Unity4 的时代,我们的C#热更方案也是一个 骚操作,这里列一下要点: Ass...

weixin_45979158的博客 2885

C# 加载自定义鼠标样式

publicvoid SetCursor(Bitmap cursor, Point hotPoint)    {      int hotX = hotPoint.X;      int hotY = hotPoint.Y;        Bitmap myNewCursor = new Bitmap(cursor.Width * 2 - hotX, cursor.Height * 2 - hotY);        Graphics g = Graphics.FromImage(my

goldeneyezhang的专栏 981

C#实现自动更新之(独立的更新程序)

一、实现效果 二、实现思路 1、自动更新程序首先检查是否有客户端本地的更新包升级配置文件【如果没有则创建一份基础的本地客户端程序更新包升级配置文件】 2、自动更新程序获取服务器上的程序更新包升级配置文件【然后将客户端本地的更新包配置文件与服务器上下载来的升级配置文件的版本进行对比,如果服务器的版本大于客户端、或服务器的版本长度大于客户端则执行更新本地客户端的升级包配置文件和下载更新包操作】。 3、更新客户端程序的更新包升级配置文件; 4、下载服务器的更新包文件【当下载完成后校验该下载好的更新包

提供C#相关开发 、云计算、运维测试、网络安全相关技术分享与服务,有意向可联系。 7283

C#实现的自动更新程序演示

C#(发音为“看”)是微软公司开发的一种优雅的、类型安全的面向对象的编程语言。它是.NET平台的核心语言之一,专门为现代软件开发需求而设计。C#语言特性丰富,包括以下几点:类型安全:所有变量在编译时都会检查类型,帮助减少类型错误和运行时异常。面向对象:C#支持封装、继承和多态性,让开发者能够构建具有模块化和可维护性的代码。泛型:允许算法和集合的重用,同时保持类型安全和性能。委托和事件:用于实现回调和事件驱动编程。LINQ。

weixin_36289742的博客 1236

C# 设置窗体和系统的光标形状

C# 设置窗体和系统的光标形状

lvxingzhe3的博客 2284

C#自动更新机制的实现与部署

本文还有配套的精品资源,点击获取 简介:自动更新是软件维护中的关键环节,特别是在IIS服务器上部署时。本课程将深入探讨使用C#语言构建自动更新机制的过程,包括更新检查、下载、安装以及确保整个流程安全的措施。学员将学习如何使用C#网络编程、文件操作等技术,以实现在Windows桌面和Web应用中快速、安全地部署新版本软件。 1. C#自动更新概述 1.1 自动更新...

weixin_28872035的博客 1603

对Unity3D C#热更新方案ILRuntime的学习

Unity实现c#热更新方案探究(一) 转载请标明出处:http://www.cnblogs.com/zblade/ 最近研究了一下如何在unity中实现c#的热更新,对于整个DLL热更新的过程和方案有一个初步的了解,这儿就写下来,便于后续的深入调查和方案选择。 一、C# DLL的动态加载和卸载 既然要热更新,那么就是动态的加载c#的DLL,所以...

小米爱大饼 4079

修改鼠标图标,从资源中直接load。bmp,cur,ani均可

随意修改鼠标图片,资源图标,cur ani 文件均可。

QEMU pcie config空间访问机制

而pci_host_conf/data_le_ops的定义是在hw/pci/pci-host.c里,对于0xCF8端口的处理,因为是地址选通,所以只需要在write的时候记录、read的时候返回记录的值即可。而pci_host_config_write/read_common接口,在前256Bconfig空间的模拟中,也同样是会调用这个接口,所以后续的处理都是一样的。这是真实的硬件设计,而对于QEMU+KVM的虚机场景,显然是要基于硬件实现和虚拟化的需求设计虚机访问config空间的完整流程。

leiyanjie8995的博客 1953

从C++到C#(慢慢更新中)

最近开始做一项工作,内容是把C++代码套用到Unity上。 Unity上的脚本文件需求都是C#,因此学习到了很多C++和C#方法的对应关系,该文章列举了作者遇到的一些方法,记录下来以备后用。 1.定义变量 C++ int A[]; string B[1,2]; C# int[] A; string[1,2] B; ...

bcbhwbcbhw的专栏 335

从原理到调试:一次搞懂Camera Sensor的曝光、增益与帧率三角关系

本文深入解析Camera Sensor中曝光、增益与帧率之间的动态平衡关系,揭示低光环境下帧率下降的根本原因。通过实际调试案例和底层公式分析,帮助开发者理解如何优化相机参数设置,实现画质与流畅度的最佳平衡。

weixin_31310913的博客 432

C# 自动更新(基于FTP)

在去年,我写了一个 C# 版本的自动更新,这个是根据配置文件 + 网站文件等组成的框架,以实现本地文件的新增、替换和删除,虽然实现了自动更新的功能,但用起来过于复杂,代码量也比较大,改起来困难,后面我就想能不能弄一个 FTP 服务器进行版本的更新。

熊思雨的博客 1万+

实战 | OpenCV实现扫描文本矫正应用与实现详解(附源码)

导读 本文主要介绍使用OpenCV对扫描文本矫正的应用实例及详细实现步骤。 背景介绍 在使用打印机或扫描仪扫描文档时,由于摆放位置差异难免造成扫描文档的倾斜。本文将使用OpenCV将倾斜的文档矫正水平并去除黑边。 实现步骤 本文只针对包含大部分文字的文档做倾斜矫正,思路来源是大部分文字倾斜后同一行的也在同一条直线,通过拟合直线计算文本倾斜角度,然后旋转来实现文本倾斜矫正。 详细步骤: ①加载倾斜图像 ②灰度转换+腐蚀+膨胀 ③Canny边缘检测 + 霍夫线变换检测直线 ...

Color Space的博客 3402

软考 系统架构设计师历年真题集萃(248)

软考 系统架构设计师历年真题集萃(248)

phmatthaus的专栏 793

C#热更新比Lua好在哪里?

C#热更新比Lua好在哪里? 大家好!在上期分享当中,给大家科普了一下,为什么游戏需要热更新?简而言之就是:热更新可以只下载一部分更新内容,而无需重新下 载整个游戏APP,提升了玩家的体验。 但是由于手机操作系统的限制,特别是苹果IOS的限制。手机操作系统通常不能直接支持热更新,所以就需要我们想办法去绕过这个限制。 那么作为一名游戏开发者,我们具体该如何做呢? 在这里有两种方案可供选择: 使用基于传统的Lua的热更新方案 采用基于C sharp的热更方案 我们先来说第1种,如果我们采用基于Lua的热

优梦创客的专栏 1063

pandas教程:2012 Federal Election Commission Database 2012联邦选举委员会数据库

里面包含了支持者的名字,职业和雇主,地址,赞助金额。我们可以已经能想到如何切割、整理数据,来提取赞助者的统计数据,或提取宣传活动的模式,这里我们展示一些不同的分析方法。可以看到有些职业是同一种工作类型,指代的是同一个东西。这两个连续操作是分别独立执行的,一个结束后,另一个才开始。上,这里我是把数据集压缩成了ZIP格式,解压后能正常导入)。我觉得也有必要好好了解一下,这个网站做了很好的讲解,),所以我们最好添加这样的信息。这样的情况,即把两个索引操作连在一起。,发现映射关系被正常执行了,所以这里的。

Cachel Wood的博客 351

Unity C#脚本的热更新

Unity C#热更新

weixin_44165354的博客 2049

188、LLC谐振变换器的样机调试实战(EMI测试)

本文分享了LLC谐振变换器EMI调试的实战经验。作者通过300W电源案例,指出LLC的EMI问题主要来自谐振腔共模电流和死区振铃,并提出三板斧解决方案:优化功率回路布局、合理选择共模电感、正确配置X/Y电容。文章详细分析了谐振电容位置、MOSFET走线、变压器屏蔽等关键设计要点,并列举示波器探头、滤波器接地等常见误区。最后强调EMI调试70%依赖布局优化,建议预扫测试、数据记录并保留6dB余量。全文以实际案例贯穿,为LLC电源EMI设计提供了实用指导。

Jack010169的博客 59

利用autojs制作抢购支付宝消费劵的手机脚本

前期准备工作 1.打开支付宝,点击中间的抢消费券的广告 2.点击左上角,将抢购页面添加到首页 3.查看支付宝首页是否出现消费劵 . autojs代码 "auto"; functiontaskstart(){ sleep(1000); launchApp('支付宝'); toast("正在打开支付宝应用"); sleep(1000); varxf=textContains("消费").findOne().bounds(); ...

洛阳泰山的博客 1万+

C#系统学习汇总 - 总目录【持续更新中......】

C#系列教程总目录

星Yeah 的博客 5757

YOLOv11改进 - 卷积Conv | SPD-Conv空间深度转换卷积优化空间信息编码,攻克小目标检测难题

本文介绍了一种名为SPD-Conv的新型CNN构建块及其在YOLOv11中的结合。传统CNN在处理低分辨率图像或小物体时,因使用步长卷积和池化层导致细粒度信息丢失、性能下降。SPD-Conv由空间到深度(SPD)层和非步长卷积(Conv)层组成,完全消除卷积步长和池化层,避免信息损失。SPD层重排特征图元素将空间信息转换到深度维度,非步长卷积层进一步处理特征图。我们将SPD-Conv集成进YOLOv11,实验证明其在低分辨率图像和小物体检测任务上显著优于现有模型。

魔改工程师的博客 1146

【C#学习路线——超详细介绍】

C#是由微软开发的一种强类型、面向对象的编程语言,主要用于.NET框架,C#在企业级开发中非常流行,并且它也被广泛应用于桌面应用、网络服务器、游戏开发(特别是使用Unity引擎)等领域。

2301_81357485的博客 8325

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

Unity 基于IL2CPP 的C#脚本更新

IL2CPP下不能直接热更C#脚本,需用ILRuntime、HybridCLR等方案。HybridCLR是目前最接近原生C#体验的热更方案,推荐使用。你可以根据项目需求选择合适的热更技术。下面详细补充**Unity IL2CPP下C#热更新(以HybridCLR为主)**的实战细节、集成流程、注意事项和常见问题。

本博客聚焦游戏开发技巧、创业实战心得及大学热门课程干货。这里既有技术深度,也有思维广度,无论你是开发者、创业者还是高校学子,都能在这里找到适合自己的成长之路! 1382

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

上一篇: Visual C#常用函数和方法集汇总
下一篇: 计算机毕业论文
sshack
博客等级 码龄20年 4粉丝 16原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值