自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

程序员奶爸

The sooner you start to code, the longer the program will take.

  • 博客(10)
  • 资源 (2)
  • 收藏
  • 关注

原创 WPF中ListBoxItem中包含TextBox的选中问题及解决方法

WPF中ListBoxItem中包含TextBox的选中问题及解决方法

2022-11-02 11:19:50 1742 1

原创 使用PInvoke互操作,让C#和C++愉快的玩耍

目录导航一:背景二:PInvoke互操作技术1. 一些前置基础2. 基本类型的互操作2. 字符串的互操作3. 复杂类型的处理4. 回调函数(异步)的处理三:总结一:背景如果你常翻看FCL的源码,你会发现这里面有不少方法借助了C/C++的力量让C#更快更强悍,如下所示: [DllImport("QCall", CharSet = CharSet.Unicode)] [SecurityCritical] [SuppressUnmanagedCodeSecurity] priv

2021-02-24 11:00:54 786

原创 SQL Server中的分页问题

我们将在本文讨论如何在sqlserver中实现分页。准备样本数据在开始详细介绍分页之前,我们将创建一个示例表并用一些合成数据填充它。在下面的查询中,我们将创建一个SampleFruits表,该表存储水果名称和售价。在本文的下一部分中,我们将使用此表。CREATE TABLE SampleFruits ( Id INT PRIMARY KEY IDENTITY(1,1) , FruitName VARCHAR(50) , Price INT)GOINSERT INTO SampleF

2020-07-31 11:08:25 325

原创 SQL Server 2008|2012 阻止保存要求重新创建表的更改

不是很理解为什么在SQL Server 2008及以后的版本中会加入阻止保存要求重新创建表的更改这个选项。太麻烦了,每次修改表结构的时候会被"阻止"。很不方便。  问题描述:  SQL Server 2008“阻止保存要求重新创建表的更改”的错误的解决方案是本文我们主要要介绍的内容,情况是这样的:我们在用SQL Server 2008 建完表后,插入或修改任意列时,提示:当用户在在SQL Server 2008企业管理器中更改表结构时,必须要先删除原来的表,然后重新创建新表,才能完成表的更改。  如

2020-07-30 16:09:04 177

原创 SQL Server中容易出错的Float和Real类型

本周工作中遇到了一个非常奇怪的问题,一开始是3张报表的数字对不起来,经查证发现有一张报表的数字有误,差1,后来请客户查询数据库,别提有多费劲了,客户那边的正式机的数据库是在别的楼层上,只能去那个机器上去查,而且机器上的USB全部锁了,所以查询DB的话只能手动去打代码,很长的就不太好意思让客户去打了,因为那个查询的SQL是一个存储过程,虽然很长但是这个代码客户是可以看到的,我用打电话的方式告诉客户怎样把这个存储过程修改成一个查询语句,而且又加了几个栏位去验证两个栏位的各自的值,发现各自的值和我算的没有差别,这

2020-06-11 13:33:29 3331

原创 WPF中的ToolTip自动换行

默认情况下,WPF 的ToolTip不换行,而是以一个长行显示,如下图:如果希望ToolTip中的文本换行,可用以下代码实现<TextBox Text="Now is the winter of our discontent Made glorious summer by this sun of York; And all the clouds that lour'd upon our house In the deep bosom of the ocean buried." W

2020-06-04 14:25:32 3063 1

原创 WPF中的DataGrid实现单元格内容自动换行

这里有两种实现方式:(推荐第二种)一 、用ElementStyle<DataGrid GridLinesVisibility="None" AutoGenerateColumns="False" Loaded="DataGrid_Loaded" Height="300" Width="500"> <DataGrid.Columns> <DataGridTextColumn Width="4*" Header="U

2020-06-04 14:04:15 7036

原创 C#使用读写锁解决多线程并发写入文件时线程同步的问题

在开发程序的过程中,难免少不了写入错误日志这个关键功能。实现这个功能,可以选择使用第三方日志插件,也可以选择使用数据库,还可以自己写个简单的方法把错误信息记录到日志文件。选择最后一种方法实现的时候,若对文件操作与线程同步不熟悉,问题就有可能出现了,因为同一个文件并不允许多个线程同时写入,否则会提示“文件正在由另一进程使用,因此该进程无法访问此文件”。这是文件的并发写入问题,就需要用到线程同步。而微软也给线程同步提供了一些相关的类可以达到这样的目的,本文使用到的System.Threading..

2020-05-23 09:50:08 1924

原创 C# 中 volatile 关键字的解读

volatile关键字表示字段可能被多个并发执行线程修改。声明为 volatile 的字段不受编译器优化(假定由单个线程访问)的限制。这样可以确保该字段在任何时间呈现的都是最新的值。volatile修饰符通常用于由多个线程访问而不使用lock 语句(C# 参考)语句对访问进行序列化的字段。有关在多线程方案中使用 volatile 的示例,请参见如何:创建和终止线程(C# 编程指南)。volatile关键字可应用于以下类型的字段:引用类型。 指针类型(在不安全的上下文中)。请注意,虽然...

2020-05-22 16:35:32 694

原创 WPF 中实现 Winfrom 中 Application.DoEvents() 方法

熟悉 Winfrom 中 Application.DoEvents() 方法的朋友一定用过此方法,此方法可以立即处理当前在消息队列中的所有 Windows 消息。 如在一个按钮单击事件中,需要每一秒改变label的Text属性,如下代码: private void button1_Click(object sender, EventArgs e) { for (int i = 0; i < 50; i++) {

2020-05-20 15:06:59 1275

Invoke Interop Assistant

它支持托管代码和非托管代码之间的方法签名的转换,而且直接生成相关的C#或者是VB的方法调用代码。这个签名的转换,不只是适用于Windows的方法签名,只要给定一个C头文件,就可以转换成为相关的C#的import方法签名

2021-02-24

SerialPortHelper-master.zip

多串口调试工具,支持双串口同时调试,支持配置保存,自定义快捷命令的保存,串口的状态的实时监听,串口助手类库项目,目前基于 .NET Framework 3.5 编译,若需要 .NET Framework 4+ 可以直接自行修改框架编译, SerialPortHelperTest 串口助手类库测试项目,主要用于演示SerialPortHelper类库的各项功能与测试任务。 SerialPostTool 串口调试工具,基于SerialPortHelper类库开发的高级串口调试工具,下载后可直接使用。

2019-12-11

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除