c#
文章平均质量分 76
ypchen001
这个作者很懒,什么都没留下…
展开
-
C#的自定义button
button按钮在disable状态下,字体为黑色,设置前景色无效。为解决该问题,自定义一个button,带图标。using System;using System.Collections.Generic;using System.Drawing;using System.Linq;using System.Text;using System.Threading.Tasks原创 2015-11-30 20:39:28 · 4532 阅读 · 0 评论 -
c#子线程操作ui
子线程本是不能操作ui数据的,但有时候需要更新ui的数据。// 声明WindowsFormsSynchronizationContext _syncContext = WindowsFormsSynchronizationContext.Current as WindowsFormsSynchronizationContext; //调用_syncContext.Post(Fu原创 2015-11-30 20:47:47 · 606 阅读 · 0 评论 -
edit控件实现拖拽
1、c++版 cedit控件.h#pragma once#include "afxwin.h"// CMyEditclass CMyEdit : public CEdit{ DECLARE_DYNAMIC(CMyEdit)public: CMyEdit(); virtual ~CMyEdit();protected: DECLARE_MESSAGE_原创 2015-09-08 19:19:39 · 723 阅读 · 0 评论 -
c++传CString到c#
c++提供给c#的接口要获取CStringc#调用:IntPtr ptr = new IntPtr();GetErrorStr( ref ptr);string str = Marshal.PtrToStringAuto(ptr);DeleteMem(ptr);// 释放内存 c++接口BOOL WINAPI GetErrorStr( wchar_t** strIn原创 2015-09-08 19:30:14 · 2178 阅读 · 0 评论 -
c#调用c++的回调函数
c++提供回调函数的接口,给c#调用c++:声明:typedef void(*SelfDetectCb)(int result);// 设备名称,状态(1成功,0失败)extern "C" BGISEQEXPORT BOOL WINAPI Seq_AutoSelfDetect(SelfDetectCb callback);实现:extern "C" BGISEQEXPORT原创 2015-09-11 17:20:29 · 504 阅读 · 0 评论 -
c#跨线程操作问题
最近在弄c#调用c++接口,通过回调函数上传数据,在c#界面显示。由于该接口为同步(阻塞),回调部分会卡住界面,只有全部数据加载完了才会显示出来。这里通过子线程的方法来操作主界面,让主界面显示出来后,数据一条条显示。外部调用接口:public void SelfAutoDetect() { Thread thread = new Thread(B原创 2015-09-11 16:56:05 · 499 阅读 · 0 评论 -
xml解析与保存
解析// 加载BOOL CConsumStatic::LoadXmlFile(CString strXml){ USES_CONVERSION; TiXmlDocument doc(T2A(strXml)); if (!doc.LoadFile()) { ZEBRA_HANDLER_AND_RETURN(etInstrumentControl, eciUserDe原创 2015-06-24 20:03:35 · 470 阅读 · 0 评论 -
主线程实现异步
有一个这样的需求,在主线程中(UI界面),先采数据,后分析数据,比如采一次数据可能要10分钟,分析一次数据要20分钟,一共采两次和分析两次。前面采完的数据在分析时,后面采的数据又过来了,如果发现前面的还在分析,就得等着,直到前面的分析完了才能分析后一个数据。那么问题来了,怎么等呢?方法1,使用Thread,将分析数据放到子线程中但分析数据也会涉及到ui的操作,而ui是不能在子线程中原创 2015-08-27 18:08:04 · 1763 阅读 · 0 评论 -
c#treeview控件checkbox双击问题
在c#treeview控件对节点checkbox双击时,会出现勾选和实际选中错乱的问题,如明明打勾了,但获取checked状态,仍为false,反之亦然。解决方法是屏蔽其双击操作,将双击转换为单击效果。具体如下public class MyTreeView : TreeView { public MyTreeView() {原创 2015-08-25 20:28:58 · 3123 阅读 · 3 评论 -
WPF 在TextBox、PasswordBox获得焦点
在类的构造函数中加入:Dispatcher.BeginInvoke(System.Windows.Threading.DispatcherPriority.Render,new Action(() => pwdBoxPWD.Focus()));其中,pwdBoxPWD为控件的name,就不用在focus事件中添加那么多代码了。原创 2015-06-24 19:30:00 · 1466 阅读 · 0 评论 -
WPF只能输入数字
命名空间,using System.Text.RegularExpressions;在xmal中,Grid> TextBox Name="textBox1" PreviewTextInput="previewTextInput" /> Grid> 加入函数, private void textBox1_previewT原创 2015-06-24 19:32:29 · 721 阅读 · 0 评论 -
WPF让button响应按键
在xmal中加入,响应回车键,其它键类似 在cs文件中加入函数private void EnterHandler(object sender, RoutedEventArgs e) { //handle clic原创 2015-06-24 19:36:25 · 2114 阅读 · 0 评论 -
c# datagridview属性设置
经过不断的试验,适合自己的属性出炉。 // column head color dataGridView1.EnableHeadersVisualStyles = false;// must this.dataGridView1.ColumnHeadersBorderStyle = DataGridViewHeaderBorderStyl原创 2015-11-30 20:43:19 · 773 阅读 · 0 评论