用winform开发一个笔记本电脑是否在充电的小工具 总结,第一种效果比第二种好,可以知道充电变化的结果是有电,还是断电,第二种只知道充电状态变化,但具体是什么变化,无法得知,状态值都是10,第一种唯一的不足,就是需要新建一个线程,比较消耗资源。1,先说主动监控吧,建立一个线程,反复查询SystemInformation.PowerStatus.PowerLineStatus。笔记本充电状态有两种监测方式,一种是主动查询,另一种是注册充电状态变化事件。第二种,用事件来接受充电状态变化。
wpf制作自定义控件,并触发外部路由事件 目的是在前端增加一个自定义控件里的button后,按下动作可以调用使用该控件的页面的事件。首先在前端增加自定义控件里加入一个button,在其cs页面里注册点击事件。最后,在使用该自定义控件的前端里加入该事件。在后端写入事件触发的内容。然后定义路由以及事件。
c# 父类与子类互转的两种方法 子类继承父类后,拓展了一些新属性,想在不同业务场景里使用,就必须经过转换,常见的转换方式有序列化,反射以及mapper。第二种,用mapper,现有的mapper类有很多,我用的是emitmapper可以在nuget上搜到。
wpf的listbox或者listview中内嵌radiobutton的方法 想在list控件下增加自定义的radiobutton内容,这里涉及到radiobutton与listitem冲突的地方,就是选中谁的问题,这里用到的控件内部绑定 RelativeSource, 否则会带来很多麻烦。不足之处就是此处的ischecked绑定之后就无法再与viewmodel绑定了,希望高手提个意见。
wpf用户控件的组装以及调用时触发的事件 用户控件一般是把现有的控件通过组装,实现一个控件组的功能,一般大型的项目,经常要用到几个控件的组合时,就可以把这几个控件组合成一个用户控件,实现特定的功能。自定义控件,一般是把原有的某个控件进行深加工,主要是在样式和触发器上做文章,实现个性化的控件功能。说了那么多,接下来做一个用户控件,首先这个控件是由多个控件组成的,所以先添加用户控件,系统会自动生成xaml和xaml.cs文件,可以理解就是一个页面,不过不是window而是UserControl。在需要调用该用户控件的xaml页面加入以下代码。
c#使用log4net写日志的简单过程 6、看效果,执行程序会在根目录生成一个log目录,里面还会有两个目录,一个放正常的日志,一个放异常的日志。2、配置log4net的config,添加一个配置文件,名为 log4net.config。3、在AssemblyInfo.cs 加上这段话,如图。4、新建一个log4net的操作类LogHelper。5、接下来就可以可劲儿折腾了。...
常用 Git 命令清单 Git常用命令总结(超实用)Workspace:工作区 Index / Stage:暂存区 Repository:仓库区(或本地仓库) Remote:远程仓库一、新建代码库# 在当前目录新建一个Git代码库 $ git init# 新建一个目录,将其初始化为Git代码库 $ git init [project-name]# 下载一个项目和它的整个代码历史 $ git clone [url]二、配置Git的配置文件为.gitconfig,它可以在用户主目录下(全局配置),也可以在...
wpf datagrid隐藏与显示指定行 要根据下拉框条件来显示datagrid的内容,为了不要反复查询,所以用隐藏的方法前端代码:<DataGrid Grid.Row="1" x:Name="dataGridTable" ItemsSource="{Binding dt}" > <DataGrid.Columns> <DataGridTextColumn Width="*" Header="姓名" Binding="{Binding...
线程非阻塞的使用 在.net4.5之后,线程的使用有了新的方法task,也是微软极力推荐的一种方法,可以做到线程池threadpool的管理,两个线程互不干扰,连跨线程操作的invoke都省略掉了using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using
c#的委托使用案例,简单计算器 将方法当做参数进行处理,把繁琐统一的步骤合并到一个方法里,本文用一个简单的计算器来实现委托,适合入门的同学参考。using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Threading.Tasks;using .
c# 实体类的克隆(复制) 实体类直接new对象,是无法克隆出一个同样的类的,只要把新的class改了,就的class也会改变,接下来有两种真正克隆类的办法,基本上可以解决大部分的问题。1、用反射 Student ss = TransReflection<Student, Student>(stu); private static TOut TransReflection<TIn, TOut>(TIn tIn) { TOut tOu
wpf数据双向绑定属性的简单写法 wpf数据绑定是经常用到的地方,重复的写属性通知代码确实挺繁琐的,这里提供了一种简单的写法,用到了nameof的用法:先看下前端xaml代码<Window x:Class="WpfApp9.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml".
wpf入门必备mvvm范例,用mvvmlight做的增删改查demo wpf的精华就是mvvm,viewmodel与view以及db.cs数据库操作类的关系,使得mianwondow几乎不用写什么代码,逻辑都放在viewmodel里,db里存放一些基础数据操作方法。内附源码链接。先展示一下界面:主界面新增以及修改界面先展示一下解决方案,如下图,db文件夹下存放的mydb.cs是数据库基本操作,model下的student.cs是实体类,view文件夹下是视图(界面)文件,viewmodel文件夹下的mianviewmodel.cs是vm文...