2019-04-08 15:56:26
这个例子是利用netMarketing类库组建MDI多文档窗口界面。这种多文档界面的好处是面板可以任意依靠位置,有点像VS开发环境中的那种面板剥离停靠效果。
对于大部分应用来说,这种效果可以有效的解决用户在界面上的需求变更。
变态的客户经常希望程序的各种面板按他们的想法出现在指定的位置,而面板固定不变的程序就只能傻眼。...
2019-03-23 17:18:24
组态软件的一些组件,关联到plc的内存,能反映出plc程序的运行结果。下面的程序模拟了组态软件这种效果,其目的是方便测试plc程序的运行效果,而不借助于实际的硬件。例如我们用plc编写一下交通灯轮换显示的程序,可以用本程序实现实时的结果显示。这里的plc程序勇哥只是用3个输入IO,点亮3个输出IOplc用的是欧姆龙的cp1h下面是pc端的程序,当设置好plc的连接参数和输出IO地址后,会实时显示上...
2018-10-08 16:49:43
公司一些项目中用到了某种图形按钮, 用到了VB的一些类。如果是VS2010, 默认就安装了VB,因此这些类库也就自带了。 但是现在公司流行vs2013,它默认不安装VB,于是打开这种工程就报下面的错误:导致运行一些例程时出错。解决方法:一、先下载安装这个VB Powerpack,可以是9.0的也可以是10.0的下载链接:http://go.microsoft.com/fwlink/?LinkId=...
2018-08-29 18:38:49
上午刚写了一篇关于带ToolTip的ListBox控件,这一篇是针对所有项,无论项文本长度有无超出控件,都会呈现ToolTip。现在这一篇基础上加一些限制并引进图标显示,只对超出部分的项才呈现ToolTip,项文本对超出部分用“...”替代详见代码:一、自定义项/// <summary>
/// 自定义项
/// </summary>
class MyLi...
2018-08-25 16:28:36
在集成式视觉处理软件中,我们常需要使用脚本来控制流程或者灵活的计算结果,这常常要求我们在程序中能够嵌入执行脚本代码,而微软的MSScriptControl控件就为这样的需求提供了方便。MSScriptControl控件是一个COM控件,可以通过VS引用进来。在解决方案的引用目录上单击右键,选择添加引用…-->COM标签-->选择 MicroSoft Script Control 1.0...
2018-08-09 16:44:51
窗体代码: public partial class Form1 : Form
{
eventTest event1 = new eventTest();
public Form1()
{
InitializeComponent();
event1.disEvent += event...
2018-08-09 08:12:49
命名空间:netMarketing.winformHelper功能:动态构建属性功能详细说明:propertyGridHelper类用来动态构建属性。XProp类代表一条属性,XProps是多个XProp的集合类。这个类的优点在于可以动态设定propertyGrid控件的属性,传统的使用预定义标签与初始化代码实现的效果是固定的,是不可以增减的。这个类也有一个缺点,就是不好使用Settings类将用...
2018-08-08 14:19:29
命名空间:sharClass.Settings功能:保存界面控件内容到文件、读取配置文件内容到界面控件功能详细说明:Settings类可以保存常见控件内容到属性变量,你可以用它来保存设置面板的信息到磁盘文件,或者载入。这时候控件的名字要加上前缀:txt, cbb,chk,以识别是TextBox、ComboBox、CheckBox另外,这个类还可以保存PropertyGrid控件的信息。如果像本程序...
2018-08-08 13:16:45
Partial是局部类型的标志。局部类型可以实现将一个类、结构或接口分成几个部分,分别放在在几个不同的.cs文件中(当然也可以放在同一个.cs文件中)。在程序进行编译之后,将会合并成一个完整的类。因此局部类型并没有看起来那么难以理解,使用partial只是让类变得更容易管理,实际使用时和普通的类一样。适用范围: (1)类型特别大,不适合放在一个文件中实现。 (2) 一个类型中的一部分代码为自动化工...
2018-08-05 16:04:40
为了快速体验一下C#的dataGridView控件,写了这段演示代码。请新建一个form,拖入一个dataGridView控件。然后添加下面的代码。效果如下:代码:using netMarketing.Interface.FormAbout;
using netMarketing.winformHelper;
using System;
using System.Collections.Ge...
2018-08-03 09:40:49
这个3个关键字貌似不是很常用。C#语法跟Java很接近,但是在Java里面也没有这些关键字。我在网上搜罗了一些资料,希望能够帮助我们更好的理解这些关键字。MSDN资料:http://msdn.microsoft.com/zh-cn/library/39bb81c3.aspx首先,explicit和implicit关键字分别表示显式的类型转换和隐式的类型转换。explicit 和 implicit...
2018-08-01 16:25:11
PropertyGrid,.net框架下的一个控件,这是一个软件升级的项目,原来的软件用的是C++,控件用的还是第三方,这次升级到visual studio .net4.0版本,原以为.net的东西用起来不会费劲的,没想到想要实现项目需要的效果还真没那么简单。 由于需要,我这里主要是为了能动态的生成属性页,还要带能动态生成下来菜单,所以今天主要从这方面总结。 首先定义一个属性类://单条属性类pu...
2018-07-30 08:44:52
在项目开发过程中,估计也有人和我遇到过同样的经历:运行环境出现了重大Bug亟需解决、或者由于电脑挂了、旧代码覆盖新代码,而在这种情况下,我们不能直接在当前的代码中修改这个Bug然后发布,这会导致更严重的问题,因为相当于版本回退了。还有电脑挂了代码整个都没有,这种情况下 我们只能只能利用一些逆向的技巧和工具了 来解析在服务器发布好的dll。那么你只是单纯的修改一个.Net程序集中的某个方法或功能,而...
2018-07-27 13:44:18
目录什么是静态常量(Const)和动态常量(Readonly)静态常量(Const)和动态常量(Readonly)之间的区别动态常量(Readonly)被赋值后不可以改变总结什么是静态常量(Const)和动态常量(Readonly) 先解释下什么是静态常量(Const)以及什么是动态常量(Readonly)。 静态常量(Const)是指编译器在编译时候会对常量进行解析,并将常量的值替换成初始化...
2018-07-26 16:20:34
Type.GetType()在跨程序集反射时返回null的解决方法在开发中,经常会遇到这种情况,在程序集A.dll中需要反射程序集B.dll中的类型。如果使用稍有不慎,就会产生运行时错误。例如使用Type.GetType("BNameSpace.ClassName")在程序集A.dll获取程序集B.dll中的类型,就会返回Null。关于跨程序集的反射,有两点需要注意: 1、如果...
2018-07-23 22:05:12
如果你直接绑定DataTable表,如下面代码:listBox1.DataSource = dt;则会出现下图现象:正确做法见代码:using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using...
2018-07-22 10:49:51
转载自: https://blog.csdn.net/zhujunxxxxx/article/details/44303743 文章系列目录C#网络编程系列文章(一)之Socket实现异步TCP服务器 C#网络编程系列文章(二)之Socket实现同步TCP服务器C#网络编程系列文章(三)之TcpListener实现异步TCP服务器C#网络编程系列文章(四)之TcpListener实现同步TCP服务...
2018-07-21 22:10:50
invoke和begininvoke 区别一直对invoke和begininvoke的使用和概念比较混乱,这两天看了些资料,对这两个的用法和原理有了些新的认识和理解。 首先说下,invoke和begininvoke的使用有两种情况: 1. control中的invoke、begininvoke。 2. delegrate中的invoke、begininvoke。 这两种情况是不同的,我们...
2018-07-21 11:11:41
EventArgs是包含事件数据的类的基类,用于传递事件的细节。今天分享的是使用泛型来约束EventArgs,在事件里传递自定义数据的例子。正题由于这个关注点很小,直接上代码了。定义泛型类TEventArgs:public class TEventArgs<T> : EventArgs
{
public TEventArgs(T t)
{...
2018-07-18 13:16:11
原文链接:https://blog.csdn.net/luyifeiniu/article/details/5426960最近项目中做一模块时偶发奇想,希望使用propertygrid的控件实现类似visual studio的属性样式,于是拿来一用,发现还真不是自己想象的那么简单,如果要实现一个比较好的展示,还真的需要不少技巧,通过自己的实践和网络的力量,“逢山开道,遇水搭桥”,总算是摸出一些门道...
2018-07-17 22:00:03
C# 利用数据库和MenuStrip控件动态生成菜单,设计如图一,拖一个Menustrip控件。
设计实现如下:
1、数据库设计:
列名
数据类型...
2018-07-15 21:54:32
namespace UDPServer{ class Program { static void Main(string[] args) { int recv; byte[] data = new byte[1024]; //构建TCP 服务器 //得到本机IP,设置TC...
2018-06-26 18:06:02
笔者是音乐爱好者,喜欢抖音上的各种音乐。于是制作了这个小软件,它功能很简单:利用酷狗接口搜索关键字音乐勇哥2020/2/18号注: 程序里目前使用的接口已经做旧,不能在使用,需要读者自己去分析新接口。在线播放音乐显示歌词可以下载音乐这个小程序用到了Json解析,还有http下载网络资源等技术。请参考下面的源代码:(第一次读取搜索列表取得的某一条歌曲的数据内容)using Cosmokey.Util...
2018-06-26 17:02:12
示例代码如下:public struct SpiderResult
{
public string robotName;
public string RobotName
{
get { return robotName; }
set { robotName = val...
2018-06-26 15:12:50
using System;
using System.Collections.Concurrent;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.IO;
using System.Linq;
u...
2018-06-26 09:32:25
本文以一个简单的小例子,简述对象持久化的相关知识,仅供学习分享使用,如有不足之处,还请指正。概述对象持久化是指将内存中的对象保存到可永久保存的存储设备中(如磁盘)的一种技术。本文介绍的是除数据库之外的几种对象持久化方式。具体如下:保存成文本:即将内存对象以字节流的方式保存到文本中。序列化成Xml:即将对象以Xml的格式存储。序列化成Json:即将对象序列化成Json对象,然后存储。序列化成二进制:...
2018-06-19 16:17:59
weiFenLuo.winFormsUI.Docking.dll是开源项目DockPanel Suite的一个类库。是一个很强大的界面布局控件,可以实现像Visual Studio的窗口停靠、拖拽等功能;可以保存自定义的布局为XML文件,可以加载XML配置文件下图是本文示例程序界面,左边面板是仿outlook效果的控件面板,标签项目都是普通form,它们都是可以任意停靠位置的。Dockpanel中...