2024年7月20日

winform 的 datagridview 动态刷新

摘要: 要实现在 datagridview 中动态的增删改查,目前能用的比较友好的方案似乎只有 datatable,网上有人说用 BindingList 的,我替你们试过了,无法筛选,坑很多 public partial class Form1 : Form { private DataTable data 阅读全文

posted @ 2024-07-20 13:02 空明流光 阅读(15) 评论(0) 推荐(0) 编辑

2024年7月16日

winform 动态截断或者补全文字宽度

摘要: 使用 TabControl 时,发现它的选项卡宽度会随文字长度变化,我自己做了一个浏览器,发现很难看,于是写了个算法,对文字长度进行填充或截断,效果很不错: 调用代码: using (var g = tabs.CreateGraphics()) { tabPage.Text = " " + PadA 阅读全文

posted @ 2024-07-16 13:34 空明流光 阅读(11) 评论(0) 推荐(1) 编辑

2024年5月28日

nuget 离线使用方法

摘要: 要从另一项目导入nuget包,找到 packages 目录完整路径 在 nuget 管理页面,设置源那里增加一个源,路径设置为 packages 的完整路径,名子随便起 然后,选择这个源,就可以选择安装其中包含的nuget包了 阅读全文

posted @ 2024-05-28 16:03 空明流光 阅读(29) 评论(0) 推荐(0) 编辑

2024年5月26日

c# 通过 SendMessage 实现跨进程数据通信

摘要: using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System. 阅读全文

posted @ 2024-05-26 18:47 空明流光 阅读(67) 评论(0) 推荐(0) 编辑

2024年5月17日

Uri.EscapeDataString 和 Server.UrlEncoding 的区别

摘要: 今天在iis中访问一个即含有空格又含有#的文件名时,通过 iis 直接访问都无法到达,显示404,即便是 urlencode 文件名后依然无济于事,最后通过 gpt 问到了答案。 Uri.EscapeDataString和Server.UrlEncode是.NET Framework中用于URL编码 阅读全文

posted @ 2024-05-17 14:41 空明流光 阅读(32) 评论(0) 推荐(0) 编辑

2024年5月7日

.net maui tts 文本朗读

摘要: // 定义朗读文本 string text = "这是我的应用程序!"; // 获取可用的朗读人 var locales = await TextToSpeech.GetLocalesAsync(); // 选择特定的朗读人var chosenLocale = locales.FirstOrDefa 阅读全文

posted @ 2024-05-07 13:43 空明流光 阅读(13) 评论(0) 推荐(0) 编辑

2024年4月10日

c# 桌面程序配置存储类

摘要: public static class SettingHelper { private static string getConfigPath() { var configFilePath = AppDomain.CurrentDomain.SetupInformation.Configuratio 阅读全文

posted @ 2024-04-10 12:32 空明流光 阅读(6) 评论(0) 推荐(0) 编辑

2024年4月9日

c# 测量字体文字大小

摘要: 示例1: var g = label1.CreateGraphics(); var size = g.MeasureString(label1.Text, label1.Font); label2.Height = (int)size.Height; 示例2: int textHeight = Te 阅读全文

posted @ 2024-04-09 17:55 空明流光 阅读(54) 评论(0) 推荐(0) 编辑

c# winform 让一个无边框窗口可调整大小

摘要: 窗体被控件完全覆盖,完全无法响应鼠标事件。 其中参数 container 传 this.container 即可,是为了资源能优雅释放做准备用的。 用如下代码: public static class FormResizer { [System.Runtime.InteropServices.Dll 阅读全文

posted @ 2024-04-09 07:19 空明流光 阅读(133) 评论(0) 推荐(0) 编辑

2024年4月2日

c# 窗体截图

摘要: /// <summary> /// 可以捕获超出屏幕的截图 /// </summary> /// <param name="hWnd"></param> /// <returns></returns> public static Image CaptureWindowScreen(IntPtr hW 阅读全文

posted @ 2024-04-02 14:38 空明流光 阅读(46) 评论(0) 推荐(0) 编辑

如何为自己的应用创建一个 progId?

摘要: If you plan to associate one or more file types with a new application, you must define a ProgID for each file type that you want to associate with th 阅读全文

posted @ 2024-04-02 09:40 空明流光 阅读(7) 评论(0) 推荐(0) 编辑

2024年4月1日

winform 加载 element-ui 并显示图标

摘要: var elementFonts = new PrivateFontCollection(); elementFonts.AddFontFile(Application.StartupPath + "\\Fonts\\element-icons.ttf"); var elementIconFont 阅读全文

posted @ 2024-04-01 23:12 空明流光 阅读(19) 评论(0) 推荐(0) 编辑

c# 自绘图标

摘要: //绘制一个下拉菜单按钮 private void drawMenuFlag(int lineWidth, PictureBox picture) { // 创建一个与 PictureBox 大小相同的 Bitmap Bitmap bmp = new Bitmap(picture.Width, pi 阅读全文

posted @ 2024-04-01 13:03 空明流光 阅读(16) 评论(0) 推荐(0) 编辑

2024年3月20日

使用 html 页面编辑精确定位文本文件选中

摘要: 如下是一个实例,实现了文本的换行,选中以及滚动到选中文本位置的功能? <html style='height:100%;'> <head> <meta charset='UTF-8' /> </head> <body style='height:100%;padding:0;margin:0;bor 阅读全文

posted @ 2024-03-20 19:45 空明流光 阅读(17) 评论(0) 推荐(0) 编辑

2024年3月7日

正则匹配:既不包含表达式1也不包含表达式2的连续多个字符

摘要: 可以使用正则表达式 @"(?:(?!(表达式1)|(表达式2)).)*" 的形式来匹配既不包含 表达式1 也不包含 表达式2 的内容。这个正则表达式使用了负向前瞻来实现不包含某些内容的匹配。 以下是一个示例代码: using System; using System.Text.RegularExpr 阅读全文

posted @ 2024-03-07 14:49 空明流光 阅读(46) 评论(0) 推荐(0) 编辑

2024年2月28日

Xamarin MSB4044: 未给任务“MakeBundleNativeCodeExternal”的必需参数“AndroidNdkDirectory”赋值

摘要: https://github.com/xamarin/xamarin-android-tools/pull/144 solution:Update MaximumCompatibleNDKMajorVersion to be 23 阅读全文

posted @ 2024-02-28 11:23 空明流光 阅读(2) 评论(0) 推荐(0) 编辑

2024年2月18日

ef 中无法提前使用 linq 查询的解决办法?

摘要: ef 中有如下的查询条件,在 .ToList 之后它可以被翻译为 sql,但在 .ToList 之前不行,我该如何写出等价可被翻译的 .Where 条件? .Where(x => selectedBookItems.Any(y => y.BookID == x.BookID)) .Where(x = 阅读全文

posted @ 2024-02-18 17:37 空明流光 阅读(11) 评论(0) 推荐(0) 编辑

2024年1月26日

windows 命令行下递归枚举指定目录下所有文件

摘要: 以下命令将枚举e盘下所有文件: dir ^"e:^" /s /b 其中 ^" 是对引号的转义,如果用在其它多层引号包含情况下非常有用 阅读全文

posted @ 2024-01-26 17:40 空明流光 阅读(39) 评论(0) 推荐(0) 编辑

2024年1月15日

c# 通过正则实现对文本一次性替换多个关键字(防止多次先后替换出现的结果变化带来的问题)

摘要: var replacements = new Dictionary<string, string>(); foreach (var key in keys) replacements.Add(key, $"<span style='background-color:blue;color:white; 阅读全文

posted @ 2024-01-15 22:09 空明流光 阅读(69) 评论(0) 推荐(0) 编辑

2024年1月12日

c# 调用 ffmpeg 获取音频时长

摘要: var arg = "-i \"" + filepath + "\" 2"; TimeSpan duration = TimeSpan.Zero; await FFMpeg.Xamarin.FFmpegLibrary.Run(this.BaseContext, arg, (line) => { Sy 阅读全文

posted @ 2024-01-12 21:33 空明流光 阅读(78) 评论(0) 推荐(0) 编辑

c# 执行命令并获取输出文本

摘要: 1. 一次性全获取(适合快速命令) void Main() { var result = Execute(@"ffmpeg.exe", "-h", 10); result.Dump(); } public string Execute(string filepath,string args, int 阅读全文

posted @ 2024-01-12 20:18 空明流光 阅读(79) 评论(0) 推荐(0) 编辑

2024年1月7日

xamarin android 导出 tts 语音到文件

摘要: public void ExportToFile(BookPageModel bookPageModel, string filepath) { var path = System.IO.Path.Combine(Android.OS.Environment.ExternalStorageDirec 阅读全文

posted @ 2024-01-07 20:31 空明流光 阅读(6) 评论(0) 推荐(0) 编辑

2023年12月29日

c# 忽略代码段警告

摘要: #pragma warning disable CS4014 { Task.Run(() => { if (!LocalDataHelper.ReadPageManager.GetReadList().Any(x => x == bookPageModel.Id)) LocalDataHelper. 阅读全文

posted @ 2023-12-29 17:32 空明流光 阅读(55) 评论(0) 推荐(0) 编辑

2023年12月26日

c#实现对大量文章标签进行聚合分组

摘要: 比如已知是 10001个章节,第个页面最多显示100个标签,则最终会有3层。以下代码是自己写出,由gpt将递归优化为while循环。 void Main() { int totalChapterCount = 10001; int maxChapterCount = 100; var chapter 阅读全文

posted @ 2023-12-26 22:10 空明流光 阅读(18) 评论(0) 推荐(0) 编辑

2023年11月29日

正则匹配拼音并分组替换

摘要: var pattern = @"[a-zA-ZüÜāáǎàaēéěèeīíǐìiōóǒòoūúǔùu]+"; 要将一个汉字加一个拼音的字符串替换为汉字,比如要替换 “禁jìn” 为 "禁",用括号括起来的部分就是分组,$1表示第2个分组,第1个分组默认是整个匹配结果 var text = Regex 阅读全文

posted @ 2023-11-29 21:32 空明流光 阅读(30) 评论(0) 推荐(0) 编辑

2023年11月27日

js 闭包使用一例

摘要: 有如下js: function startTimer(sentence) { alert('start'); sentence.longPressTimer = setTimeout(function() { alert(sentence); //此处sentence为undefined }, 10 阅读全文

posted @ 2023-11-27 15:27 空明流光 阅读(2) 评论(0) 推荐(0) 编辑

2023年11月4日

手机浏览器中实现可拖动div

摘要: var touchStartX = 0; var touchStartY = 0; var moveX = 0; var moveY = 0; var div = document.getElementById('yourDivId'); // 获取你要拖动的div div.addEventList 阅读全文

posted @ 2023-11-04 17:29 空明流光 阅读(47) 评论(0) 推荐(0) 编辑

2023年10月27日

vs2022 动态编译复制

摘要: 项目配置为按配置编译,在.csproj的Project节点下面末尾增加以下内容: <Target Name="ReplaceManifest" BeforeTargets="BeforeBuild"> <Copy SourceFiles="$(ProjectDir)Properties\Androi 阅读全文

posted @ 2023-10-27 19:20 空明流光 阅读(44) 评论(0) 推荐(0) 编辑

2023年10月21日

C# 异步调用备忘

摘要: 1.将一个同步方法封装为异步方法 a. 无返回值的封装 public async Task ReadAudioAsync(byte[] audio) { await Task.Run(() => PlaySound(audio, IntPtr.Zero, (uint)(SoundFlags.SND_ 阅读全文

posted @ 2023-10-21 13:54 空明流光 阅读(9) 评论(0) 推荐(0) 编辑

xamarin android 调用 ffmpeg 命令

摘要: Nuget 安装 Xamarin.FFmpeg,作者:gregory.perozzo核心C#代码如下,这段代码只执行了显示帮助的命令: var ffmpegPath = Path.GetDirectoryName(FileAccessHelper.CopyAndGetLocalFilePath("f 阅读全文

posted @ 2023-10-21 13:14 空明流光 阅读(42) 评论(0) 推荐(0) 编辑

2023年10月18日

adb 安装 .apk 到指定设备

摘要: 要使用adb命令查找设备并安装apk文件到指定设备,可以按照以下步骤进行操作: 确保已经正确安装了ADB工具,并将其路径添加到系统环境变量中。 打开命令提示符(或终端)窗口。 输入以下命令来检查是否能够正确识别连接的设备: adb devices 如果设备正确连接并被识别,将会显示设备的序列号及状态 阅读全文

posted @ 2023-10-18 18:14 空明流光 阅读(895) 评论(0) 推荐(0) 编辑

2023年10月13日

cefsharp 执行 js 并返回结果

摘要: private async void button1_Click(object sender, EventArgs e) { var response = await browser.EvaluateScriptAsync("document.title"); if (response.Succes 阅读全文

posted @ 2023-10-13 19:25 空明流光 阅读(391) 评论(0) 推荐(0) 编辑

cefsharp 循环从多个页面提取数据

摘要: foreach (var url in urls) { var loaded = false; Action<object, FrameLoadEndEventArgs> frameLoadEndProc = (s, args) => { if (args.Frame.IsMain && args. 阅读全文

posted @ 2023-10-13 19:03 空明流光 阅读(218) 评论(0) 推荐(0) 编辑

2023年10月12日

Process.Start 卡死问题解决

摘要: 首先声明是GPT的功劳 代码如下: var p = Process.Start(exe, arg); p.WaitForExit(); 现象:调度显示在第一句卡死,压根没走到第二句 GPT分析原因:对于进程启动后卡死的情况,一种可能的原因是标准输出缓冲区已满,导致进程被阻塞无法继续执行。为了解决这个 阅读全文

posted @ 2023-10-12 11:59 空明流光 阅读(317) 评论(0) 推荐(0) 编辑

2023年9月10日

关于 cmd.exe /C 执行命令存在双引号的情形

摘要: 对于包含空格或特殊字符的文件路径,你需要将路径用双引号括起来,以确保命令行正确解析。然而,在给 cmd.exe /C 命令传递参数时,双引号本身也需要被转义。 请尝试以下命令: Copy Code cmd.exe /C ffprobe.exe -v error -select_streams v:0 阅读全文

posted @ 2023-09-10 19:35 空明流光 阅读(42) 评论(0) 推荐(0) 编辑

2023年8月11日

c# 写入 java 操作的 redis 队列

摘要: 要点:键和值都要序列化或反序列化两次,也就是已经是string后,还要再序列化一次或反序列化一次 namespace RedisDemo { class Program { static void Main(string[] args) { var scannedData = Newtonsoft. 阅读全文

posted @ 2023-08-11 16:24 空明流光 阅读(18) 评论(0) 推荐(0) 编辑

2023年8月7日

java 从外部强制结束死循环代码

摘要: public class ThreadTimeoutExample { public static void main(String[] args) { Thread thread = new Thread(new MyRunnable()); thread.start(); // 启动线程 try 阅读全文

posted @ 2023-08-07 09:58 空明流光 阅读(51) 评论(0) 推荐(0) 编辑

2023年7月26日

asp.net 获取真实的端口号

摘要: HttpContext.Current.Request.Headers["host"] 当内外网映射端口号不一致时,可获取到客户访问的真实端口号 阅读全文

posted @ 2023-07-26 09:24 空明流光 阅读(83) 评论(0) 推荐(0) 编辑

2023年7月8日

ffmpeg 使用备忘

摘要: 如何进行单文件格式转换? ffmpeg -i i:\VTS_01_5.VOB -c:v copy -c:a copy d:\video\5.mp4 如何合并两个vob文件到一个mp4(可自行指定分辨率)? ffmpeg -i "i:\VTS_01_1.VOB" -i "i:\VTS_01_2.VOB 阅读全文

posted @ 2023-07-08 17:53 空明流光 阅读(79) 评论(0) 推荐(0) 编辑

2023年7月7日

ubuntu 22.04.1 下编译 opencv 4.5.4

摘要: ubuntu 22.04.1 下,如何编译 opencv 4.5.4,我需要编译一个静态库 .a,可以独立使用,不依赖于 .so,我已有源码,在目录 /root/opencv-4.5.4 下 2023/7/7 15:21:19 如果你已经有了 OpenCV 4.5.4 的源码,并且想在 Ubuntu 阅读全文

posted @ 2023-07-07 16:52 空明流光 阅读(164) 评论(0) 推荐(0) 编辑

导航