2024年12月21日

c# 通过正则对多个匹配结果进行个性化替换

摘要: void Main() { string input = "abcdef ghi jklmnop qrst uvwxyz"; // 正则表达式匹配所有字母(包括大小写字母) string pattern = @"[a-zA-Z]+"; // 使用 MatchEvaluator 在替换时处理每个匹配项 阅读全文

posted @ 2024-12-21 16:47 空明流光 阅读(1) 评论(0) 推荐(0) 编辑

2024年12月14日

wpf textbox 实现水印

摘要: <TextBox Width="200" VerticalContentAlignment="Center" Background="Transparent" Tag="Enter here..."> <TextBox.Style> <Style TargetType="{x:Type TextBo 阅读全文

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

2024年11月5日

js 阻止后退

摘要: 第一步: // 禁止后退功能 if (typeof history.pushState == 'function') { history.pushState(null, null, location.href); history.back(); history.forward(); } 第二步: / 阅读全文

posted @ 2024-11-05 12:41 空明流光 阅读(30) 评论(0) 推荐(0) 编辑

2024年10月29日

c# winform 强制开启 dpi 感知

摘要: [DllImport("user32.dll")] private static extern bool SetProcessDPIAware(); 阅读全文

posted @ 2024-10-29 15:50 空明流光 阅读(10) 评论(0) 推荐(0) 编辑

2024年10月26日

.net8 winform 发布

摘要: 或者执行命令:dotnet publish -p:PublishSingleFile=true 阅读全文

posted @ 2024-10-26 19:11 空明流光 阅读(32) 评论(0) 推荐(0) 编辑

2024年10月22日

c# winform 将 Form 添加到控件中

摘要: var form1 = new Form() { TopLevel = false, Visible = true }; tabs.TabPages[0].Controls.Add(form1); form1.BringToFront(); 阅读全文

posted @ 2024-10-22 09:28 空明流光 阅读(19) 评论(0) 推荐(0) 编辑

2024年10月20日

js 中主窗口与 iframe 通信

摘要: if (window.top window.self) { window.addEventListener('message', function (event) { alert(event.data) }); } else { window.parent.postMessage("Hello fr 阅读全文

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

c# 动态增删 url 中的 query string 查询参数

摘要: void Main() { var url = "http://www.demo.com/demo.html?a=1&b=2"; var uri = new Uri(url); var parameters = HttpUtility.ParseQueryString(uri.Query); par 阅读全文

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

2024年10月19日

WebView2 拦截查看所有的请求

摘要: 有两种方式: 1. 使用 devtool protocol: // 启用网络监控 await webView.CoreWebView2.CallDevToolsProtocolMethodAsync("Network.enable", "{}"); //注册 Network.requestWillB 阅读全文

posted @ 2024-10-19 10:32 空明流光 阅读(271) 评论(1) 推荐(1) 编辑

2024年10月18日

c# winform datagridview 显示行号

摘要: 长时间不写,就忘了,备忘一下 dataGridView1.RowHeadersVisible = true; dataGridView1.RowHeadersWidth = 150; dataGridView1.RowStateChanged += (s, args) => { args.Row.H 阅读全文

posted @ 2024-10-18 20:19 空明流光 阅读(56) 评论(0) 推荐(0) 编辑

2024年10月16日

c# winform 显示一个 tip

摘要: public void showTip(string text, int duration = 2000) { var form = new Form { Size = new Size(1, 1), StartPosition = FormStartPosition.CenterScreen }; 阅读全文

posted @ 2024-10-16 23:30 空明流光 阅读(13) 评论(0) 推荐(0) 编辑

c# .net8 winform 嵌入 wpf 控件

摘要: .net framework 例子很多,但 .netcore 的很难找,经过和 gpt 很长时间的沟通,完成了。 关键点是 vs2022 似乎还不支持设计时的 ElementHost,所以必须通过代码初始化。 1. 新建一个 wpf 控件库 2. 创建一个导圆角的 TextBox,控件名为 User 阅读全文

posted @ 2024-10-16 19:12 空明流光 阅读(149) 评论(0) 推荐(0) 编辑

2024年10月14日

C# Mutex 在异步方法中线程同步失效

摘要: Mutex 在异步方法中线程同步失效: private readonly Mutex mutexInitialize = new Mutex(); public async Task<bool> Initialize() { mutexInitialize.WaitOne(); try { ... 阅读全文

posted @ 2024-10-14 23:38 空明流光 阅读(13) 评论(0) 推荐(0) 编辑

C# WinForm 菜单项的大小、高宽的手动控制

摘要: 转载:C# WinForm 菜单项的大小、高宽的手动控制 - 清潭荷韵 - 博客园 (cnblogs.com) 感觉有用,怕搜不到,于是转一下 控制菜单项的第一级的下级菜单项的大小: 直接通过(ContextMenuStrip对象).AutoSize = false、(ContextMenuStri 阅读全文

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

webview2 获取页面截图

摘要: var ms = new MemoryStream(); await Browser.CoreWebView2.CapturePreviewAsync(CoreWebView2CapturePreviewImageFormat.Png, ms); { var bytes = ms.ToArray() 阅读全文

posted @ 2024-10-14 15:09 空明流光 阅读(128) 评论(0) 推荐(0) 编辑

2024年10月12日

c# winform 高 dpi 自适应开发步骤

摘要: 1. 在不启用 dpi aware 模式下开发 2. 启动 dpi aware 3. 对有问题的控件使用 DpiHelper 对定位和大小或者图像进行转换 参见 解决 DPI 问题 - Visual Studio (Windows) | Microsoft Learn 部分官方示例: 若要从将在 V 阅读全文

posted @ 2024-10-12 13:52 空明流光 阅读(88) 评论(0) 推荐(0) 编辑

2024年10月11日

c# 注册协议处理程序

摘要: static void registerAsHttpHandler() { // Register as the default handler for the http: protocol. const string protocolValue = "HTTP:Hypertext Transfer 阅读全文

posted @ 2024-10-11 22:07 空明流光 阅读(6) 评论(0) 推荐(0) 编辑

c# 捕获系统快捷键

摘要: private void GlobalKeyCapture_KeyDown(object sender, KeyEventArgs e) { //判断当前进程是否是活动进程,以决定是否响应 var currentProcess = getActiveProcess(); if (currentPro 阅读全文

posted @ 2024-10-11 11:57 空明流光 阅读(13) 评论(0) 推荐(0) 编辑

2024年9月29日

c# webclient 使用默认代理的代码

摘要: void Main() { using (WebClient client = new WebClient()) { // 使用默认代理 client.Proxy = WebRequest.GetSystemWebProxy(); // 你可以选择是否设置凭据 client.Credentials 阅读全文

posted @ 2024-09-29 21:15 空明流光 阅读(10) 评论(0) 推荐(0) 编辑

2024年9月2日

c++ string 与 wstring 互转并解决显示乱码

摘要: string 转 wstring: #include <iostream> #include <sstream> #include <locale> #include <string> #include <codecvt> int main() { std::string utf8_str = "你 阅读全文

posted @ 2024-09-02 12:29 空明流光 阅读(140) 评论(0) 推荐(0) 编辑

2024年7月20日

winform 的 datagridview 动态刷新

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

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

2024年7月16日

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

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

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

2024年5月28日

nuget 离线使用方法

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

posted @ 2024-05-28 16:03 空明流光 阅读(138) 评论(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 空明流光 阅读(154) 评论(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 空明流光 阅读(143) 评论(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 空明流光 阅读(62) 评论(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 空明流光 阅读(16) 评论(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 空明流光 阅读(96) 评论(0) 推荐(0) 编辑

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

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

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

2024年4月2日

c# 窗体截图

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

posted @ 2024-04-02 14:39 空明流光 阅读(83) 评论(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 空明流光 阅读(20) 评论(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 空明流光 阅读(45) 评论(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 空明流光 阅读(50) 评论(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 空明流光 阅读(38) 评论(0) 推荐(0) 编辑

2024年3月7日

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

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

posted @ 2024-03-07 14:49 空明流光 阅读(75) 评论(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 空明流光 阅读(19) 评论(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 空明流光 阅读(14) 评论(0) 推荐(0) 编辑

2024年1月26日

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

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

posted @ 2024-01-26 17:40 空明流光 阅读(73) 评论(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 空明流光 阅读(153) 评论(2) 推荐(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 空明流光 阅读(116) 评论(0) 推荐(0) 编辑

导航