c#常用通用方法
翎翔
这个作者很懒,什么都没留下…
展开
-
MVC界面前端HTML传值到控制器的方法
前端 1 <html> 2 <head> 3 <meta name="viewport" content="width=device-width" /> 4 <title>Test</title> 5 </head> 6 <body> 7 <form action="/Home/Test" method="post"> 8 <div> 9原创 2022-02-28 14:04:37 · 680 阅读 · 0 评论 -
2021-11-02
异常报警线程控制://定时检查存储是否需要报警 Thread threadTmp5 = new Thread(new ThreadStart(BV)); threadTmp5.Start();系统报警声引用://音频报警引用 [DllImport("kernel32.dll")] public static extern bool Beep(int freq, int duration); private原创 2021-11-18 17:32:26 · 70 阅读 · 0 评论 -
XML对象序列化和反序化的问题详解三(对于List对象生成xml及恢复解析)
List对象转自定义xml字符串public static string CreateXmlListFile<T>(List<T> OBJ, string InterfaceName, string code, string message) { XmlDocument xmlDoc = new XmlDocument(); //创建类型声明节点 XmlNode node = xmlDoc.原创 2021-11-18 16:26:13 · 455 阅读 · 0 评论 -
XML对象序列化和反序化的问题详解二(对于对象自定义节点生成xml)
对象生成自定义节点的XMLpublic static string CreateXmlFile<T>(T Object, string InterfaceName, string code, string message){ XmlDocument xmlDoc = new XmlDocument(); //创建类型声明节点 XmlNode node = xmlDoc.CreateXmlDeclaration("1.0", "ut原创 2021-11-18 15:36:12 · 154 阅读 · 0 评论 -
XML对象序列化和反序化的问题详解一(对于对象标准生成xml)
XML对象标准序列化Public static string XMLSerialize<T>(T entity){ string xmlstring = string.Empty; XmlSerializer xmlserializer = new XmlSerializer(typeof(T)); using (MemoryStream ms = new MemoryStream()) { xmlserializer.Serialize(ms, entity); xmls原创 2021-11-18 15:06:39 · 108 阅读 · 0 评论 -
2021-11-15
c#调用C++SDK结构类型引用方法引用:[DllImport("DChiDV.dll", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.Cdecl)] public static extern int CXK_SetTime(ref DV_TM ptm);在c#中引用的dll文件的方法中,如方法参数包含结构类型,需要另作定义说明。 [StructLayout(LayoutKind.Sequential)]原创 2021-11-15 17:25:54 · 550 阅读 · 0 评论 -
2021-11-02
系统报警声音线程调用//定时检查存储是否需要报警 Thread threadTmp5 = new Thread(new ThreadStart(BV)); threadTmp5.Start();报警引用dll文件//音频报警引用 [DllImport("kernel32.dll")] public static extern bool Beep(int freq, int duration); priva原创 2021-11-02 15:03:59 · 65 阅读 · 0 评论 -
2021-11-02
富文本编辑器恶意上传漏洞–解决方法问题描述:借助上传网络图片功能,向asp.net项目中上传可执行那文件。后台代码原先处理方式:if (response.StatusCode != HttpStatusCode.OK) { State = "Url returns " + response.StatusCode + ", " + response.StatusDescription; return this;原创 2021-11-02 13:55:46 · 61 阅读 · 0 评论 -
网页前端调用播放语音
<script type="text/javascript" language="javascript"> function text() { var text = new SpeechSynthesisUtterance("hello world"); window.speechSynthesis.speak(); } </script>原创 2021-08-10 13:59:07 · 409 阅读 · 0 评论 -
form.show()与form.showdialog()区别
非模态窗口1、 form.show() 后不影响程序运行。form.show() 后form界面控件不显示则需要添加form.Update()。form.show()后form界面控件显示不全则需要采用双缓冲办法: protected override CreateParams CreateParams { get { CreateParams cp = base.CreateParams;原创 2021-06-24 15:15:52 · 710 阅读 · 0 评论 -
进度条颜色更迭---不同进度显示不同颜色
自定义进度条控件,重绘系统控件(方案一)public partial class CustomProgressBar : ProgressBar { public CustomProgressBar() { InitializeComponent(); this.SetStyle(ControlStyles.UserPaint, true); } protected override原创 2021-06-23 10:02:37 · 1332 阅读 · 0 评论 -
后台线程更新主界面UI
Invoke(new Action(() => { label4.Text = "(" + (((int)Upspeed) > 99 ? 99 : (int)Upspeed).ToString() + "M/s" + ")"; }));原创 2021-06-22 16:04:08 · 110 阅读 · 0 评论 -
解压zip文件自动覆盖实现主程序自动更新功能
必须下载nuget上的donetzip的dll引用文件。using Ionic.Zip;using System;using System.Collections.Generic;using System.Diagnostics;using System.IO;using System.Threading;using System.Windows.Forms;using System.Xml;namespace UpgraderA{ public partial class U原创 2021-06-21 17:44:52 · 553 阅读 · 0 评论 -
U盾简易版——控制指定U盘才能被插上电脑识别
u盘插上会被识别(下面switch下有两个case做了操作,u盘插上电脑偶尔被识别U盘插入但偶尔也会被识别为一种设备插入,所以需要两种情况都判断),并检查其中含有指定文件,不含则被移除。#region 设置指定u盘识别 string strCurUsb = ""; private bool bMonitorFlag = true; public const int WM_DEVICECHANGE = 0x219;//U盘插入后,OS的底层会自动检测到,然后向原创 2021-06-21 17:10:03 · 408 阅读 · 0 评论 -
C#与Android之间的实时视频传输——c#上位机篇(通过usb线连接)
adb转端口号 private void Trans() { Process p = new Process(); //实例一个Process类,启动一个独立进程 p.StartInfo.FileName = "cmd.exe"; p.StartInfo.UseShellExecute = false; //关闭Shell的使用 p.StartInfo.RedirectStandardIn.原创 2021-06-21 17:02:42 · 1336 阅读 · 3 评论 -
c#之Linq查询集合语句
linq选择的点集合Dictionary<double, double> points = new Dictionary<double, double>(); Dictionary<double, double> selectpoints = new Dictionary<double, double>(); selectpoints = points.Where(a => a.Key > stxa && a.K原创 2021-06-08 14:54:46 · 343 阅读 · 0 评论 -
c# winform h.265解码
第一步:运行install.bat文件,本地注册队友activex控件.第二步:工具箱–选项卡–com–选择aPlayrer,随后作为普通控件使用第三步:程序运行前,必须在电脑上先注册控件,否则会导致程序应用报错打不开....原创 2021-05-26 18:41:15 · 1127 阅读 · 0 评论 -
c# GDI+绘图基本(一)
GDI+绘制如下效果:代码展示: class Circular { private Graphics g = null; public Circular(Graphics gg)//重写 { g = gg; } public void Draw(int x1, int y1, int x2, int y2) { if (g != null)原创 2021-05-26 17:02:36 · 230 阅读 · 0 评论 -
c#程序设置自启动
方法:public void SetSetupWindowOpenRun(string setupPath, string linkname, string description) { string desktop = Environment.GetFolderPath(Environment.SpecialFolder.Startup) + "\\" + linkname + ".lnk"; if (System.IO.File.Exis原创 2021-05-24 15:21:48 · 199 阅读 · 1 评论 -
c#读取注册表指定路径指定属性的值
注册表指定路径指定属性的值 RegistryKey hklm = Registry.LocalMachine; RegistryKey software = hklm.OpenSubKey(@"SYSTEM\CurrentControlSet\Enum\USB\VID_2695&PID_7381\0001"); //打开"SYSTEM"子键 label1.Text = software.GetValue("LocationIn原创 2021-05-13 11:50:47 · 420 阅读 · 0 评论 -
c# 显示桌面调用
在C#中,使用 显示桌面 的功能,实际就是使用 Shell.Application 去执行 ToggleDesktop 这个功能,代码如下:Type shellType = Type.GetTypeFromProgID("Shell.Application");object shellObject = System.Activator.CreateInstance(shellType);shellType.InvokeMember("ToggleDesktop", System.Reflection.原创 2021-05-08 17:04:02 · 664 阅读 · 0 评论 -
c#获取枚举对应描述信息
依据枚举code值,获取DescriptionAttribute的描述文本源码实现public static string GetDescriptionValue(Enum errorCode){Type type = errorCode.GetType();FieldInfo fd = type.GetField(errorCode.ToString());if (fd == null) return string.Empty;object[] attrs = fd.GetCustomAtt原创 2021-04-23 09:54:54 · 240 阅读 · 0 评论 -
图片缩放及添加文字或者图片水印
图片缩放及添加文字或者图片水印/// /// 自动缩小原图:默认142X80大小/// /// /// public static string ZoomImage(string srcImgFile){string newImgFileName = string.Empty;FileStream fs = null;try{if (!File.Exists(srcImgFile)) { return string.Empty; }string dirName = Path.Get原创 2021-04-22 09:44:41 · 196 阅读 · 0 评论 -
Json序列化及反序列化
json序列化及反序列化便于数据传输JSON序列化 public static string JsonSerializer<T>(T t) { DataContractJsonSerializer ser = new DataContractJsonSerializer(typeof(T)); MemoryStream ms = new MemoryStream(); try { ser.W原创 2021-04-21 19:23:25 · 125 阅读 · 0 评论 -
获取视频文件的时长
获取视频文件的时长以下为项目源码,直接可用private long GetFileTime(FileInfo info, out string infoLength){if (info.Extension.ToLower() == “.jpg”) { infoLength = “00:00:00”; return 0; }string strPath = info.FullName;long bolSec = 0;infoLength = “00:00:00”;try{// 2016-0原创 2021-04-21 18:52:30 · 667 阅读 · 0 评论 -
c#获取照片的拍摄日期
下载NuGet包:Microsoft.WindowsAPICodePack-Shell添加引用:using Microsoft.WindowsAPICodePack.Shell;以下为获取照片时间的方法:public string GetMediaTimeLen(string path){var file = path; ShellObject obj = ShellObject.FromParsingName(file); var takenDate = obj.原创 2021-04-21 14:52:04 · 957 阅读 · 0 评论 -
c#取本地ip地址
c#取本地ip地址引用system.Netpublic static string GetCurrentHostIpAddress(){IPHostEntry ihe = Dns.GetHostEntry(Dns.GetHostName());IPAddress ipaddress = null;for (int i = 0; i < ihe.AddressList.Length; i++){if (ihe.AddressList[i].AddressFamily == Address原创 2021-04-19 13:51:16 · 114 阅读 · 0 评论