最近在做winform的报表项目,看人家教程里都有报表数据面板,可我的怎么都找不到,我的是VS2012,最后终于找到,首先必须在报表设计TAB上(选中它),然后选择视图->报表数据…
首先通过Nuget安装包System.Reactive. ReactiveX项目 Url: https://github.com/Reactive-Extensions/Rx.NET public partial class ZSerialportForm : Form { private SerialPort sp; ]; // 定义ReactiveX对象 private IScheduler scheduler = new DispatcherScheduler(Dispatcher.Cur…
VS2017中没有ReportViewer控件,这个控件用来实现在项目中显示和打印关系数据库中的表比较容易,特别是想要打印的时候,这个比用DataGridView和PrintDocument要简单一些. 所以我去网上查,查了很多,最终成功添加了此控件. 下面是对实验证明可行的方法的总结. 1.要有Microsoft SQL Server Data Tools,如果没有,可以通过下图所示方法添加. 这个就是当初VS2017的安装程序,可以直接找到此程序,并打开. 也可以通过在控制面板——程序和功能…
上一篇:winform中dataGridView高度自适应填充完数据的高度 winform中dataGridView高度自适应填充完数据的高度,就是dataGridView自身不产生滚动条,自己的高度是根据数据的多少而变动. 在load的时候,数据绑定后,加上如下代码: dataGridView1.Height = dataGridView1.Rows.Count * dataGridView1.RowTemplate.Height + dataGridView1.ColumnHeadersHe…
[前言] 上一篇讲了怎么把Cocos2d-x 3.6渲染进MFC窗体,这里来讲一下怎么在C# Winform中做到同样的功能.如果你不熟悉MFC的使用但对C# Winform比较在行,请往下看. 这一篇是作为上一篇的副属文,所以文中提到的部分操作需要在上一篇中找……博主懒逼不在这复制粘贴了. [核心思想] 同上一章不同的是,C#是托管环境,并不能直接用“对象.方法()”这样的形式来访问Cocos层的代码.我们需要在其间建立一个DLL层(C++编写)作为Cocos层的接口,让C#通过接口来控制Co…
一.FastReport的简介 FastReport是功能齐全的报表控件,使开发者可以快速并高效地为·NET/VCL/COM/ActiveX应用程序添加报表支持. 二.FastReport的安装(推荐网址:https://www.cnblogs.com/yoyo-524/p/6116884.html) 感觉写的安装步骤很详细了,在这就不赘述了.另外提一个小问题,就是按照步骤我们安装好的是英文,怎么转成中文呢? 大家不用再去网上找中文破解包之类的,直接在菜单里找到“File”——>“Select…
一,需求 在Winform中,默认情况下,按下Tab键,光标会按照我们设定的TabIndex值从小到大进行跳转. 但如果用户要求按下Tab键跳转到特定的控件,这种要求还是很合理的,比如用户只想输入几个必须填的项目. 我们可以在配置文件中配置这些必须填写的项目,并设定他们的跳转顺序.这样程序也更加灵活,利于扩展. 二,探索实现方法 1,在每个输入控件的keyDown事件里判断是Tab键,做相应的跳转处理. 最后调查发现按下Tab键,并不会触发控件keyDown事件,Tab键默认被系统处理了,悲剧了…
通过源码了解ASP.NET MVC 几种Filter的执行过程   一.前言 之前也阅读过MVC的源码,并了解过各个模块的运行原理和执行过程,但都没有形成文章(所以也忘得特别快),总感觉分析源码是大神的工作,而且很多人觉得平时根本不需要知道这些,会用就行了.其实阅读源码是个很好的习惯,它不只停留在知道怎么用的阶段,而是让我们知道一系列的为什么,为什么这样设计,为什么这样使用....很多朋友应该看过<asp.net x 框架揭秘>这本书,确实不错,特别是边看源码边看书,可以有不小的收获.Ok,我…
C# winform中 窗体缩放自适应的方法(不同电脑/不同分辨率)   窗体缩放是一个困扰我多时的问题,为了解决这个问题,我从网上找了很多相关的资料,很多人说用Anchor和Dock属性,但是我试了以后,始终不能达到想要的效果. 后来,搜到了一个帖子,终于解决了这个问题,再次对该贴作者表示感谢.原帖链接为: http://www.cnblogs.com/sydeveloper/archive/2013/01/29/2881521.html 以下是笔者的实现过程: 1.  首先在窗体上放上一个P…
近使用.net做一个小软件遇到一个问题,就是想实现把excel表格在winform中打开,同时可以操作,不单单是打开.或者就提取数据.在网上找了好多资料,发现这方面的资料比较少,即使有,都是旧版本的使用方法.在这里分享一下自己用vs C# 在winform中嵌入excel的一些经验. 首先,本人使用的VS 版本是2010,据我所知,2010的vs是没有这个控件(就是想button控件能直接拉进去的).因此我们需要一个第三方控件来实现这个功能. 然后,那么我们需要的第三方控件叫什么呢?这个控件就是…
这篇文章主要介绍了C#在WinForm中使用WebKit传递js对象实现与网页交互的方法,涉及针对WebBroswer控件及WebKit控件的相关使用技巧,需要的朋友可以参考下 本文实例讲述了C#在WinForm中使用WebKit传递js对象实现与网页交互的方法.分享给大家供大家参考,具体如下: 有个项目要使用WebBroswer控件,并且要能传递一个js对象供前台调用,用c#的WebBroswer控件很容易实现: ? 1 2 3 4 5 private void Form1_Load(obje…
C#中winform中panel重叠无法显示问题: 最近开发一个项目有个需求是需要多个模式来回切换的,本来考虑使用多个窗口来实现这个功能,但是这样做浪费资源,而且工作量大,所以想到使用panel控件来解决这个问题.但是在这个过程中遇到了一个问题,就是当多个panel控件重叠在一起时会出现有些panel控件中的内容无法显示,开始还以为是我自己手误将panel控件删除了,但是在代码中调用无法显示的控件编译器编译时并没有报错.所以可以肯定没有删除控件.最后发现原来是C#winform窗体中控件的层级搞…
再winform中使用ProcessCmdKey处理快捷键响应,针对单一快捷键响应没有任何问题.但是针对组合键总是无法响应,如下: protected override bool ProcessCmdKey(ref System.Windows.Forms.Message msg, Keys keyData)        {            if (keyData == (Keys.Control|Keys.C ))            {                Message…
根据项目的需要,对已经完成的Unity三维模型以及游戏要使用Winform进行包装,也就是使用Winform做一层外壳.因此在展示Unity的时候使用到了UnityWebPlayer这个插件,对于此插件就不多说了,无论是想把Unity嵌在网页中还是winform中都要使用到. 网上很多资料是在Web中使用Unity的,很自然的把Unity发布成Web类型,在此如何在Web中使用Unity也就不多说了,重点是解决在winform中使用Unity出现的插件自带的右键问题以及Logo问题. 一.win…
转载:WinForm中播放声音的三种方法 金刚 winForm 播放声音 本文是转载的文章.原文出处:http://blog.csdn.net/jijunwu/article/details/4753094 声音文件folder.wav放置在bin目录下debug下 1.通过API调用 using System.Runtime.InteropServices; [DllImport("winmm.dll")] public static extern bool PlaySound(st…
C#  Winform 中如何实现音乐播放和视频播放 namespace WindowsFormsApplication1 { public partial class Form2 : Form { public Form2() { InitializeComponent(); SoundPlayer sp = new SoundPlayer("C:/Users/xingping.xu/Documents/Visual Studio 2010/Projects/ConsoleApplicatio…
之前在写化学分子模型制作程序的时候,使用一种方法,将WINFORM控件嵌入到XNA窗体中,从而实现了即使用WINFORM窗体控件又使用XNA.最近在写另一个物理运动学课件制作程序,同样使用XNA,但从另一个角度实现了WINFORM控件和XNA共存,并且在编码上更简单一些. 一.创建XNA工程并添加窗体 向工程添加窗体MainForm,并修改GAME1为MainGame.我们把XNA内容绘制到MainForm上,其实绘制到任何有句柄的控件都可以,即使我们绘制到桌面也未尝不可.但更少的控件能够使我们…
// winform中dataGridView单元格在数据绑定后,数据类型更改困难,只能迂回实现.有时候需要将数字变换为不同的文字描述,就会出现int32到string类型转换的异常,借助CellFormatting事件就可以轻松解决了. 在dataGridView添加CellFormatting事件,如:dataGridView1_CellFormatting 参考代码: private void dataGridView1_CellFormatting(object sender, Data…
winform的ComboBox中只能赋值text,显示和值是一样的,很多时候不能满足根本需要,熟悉B/S开发的coder最常用的就是text和value分开的,而且web下DropDownList本来就是分为text和value.ComboBox要实现同样功能,使item有多个值,只能用重写一个类来实现了. 重写类如下: using System; namespace sm { class cListItem { private string id = string.Empty; public…
winform中dataGridView隔行显示不同的背景色,鼠标移动上显示不同颜色,离开后变回原色 先设置奇数行颜色,这个有个自带的属性AlternatingRowsDefaultCellStyle dataGridView1.AlternatingRowsDefaultCellStyle.BackColor = Color.AliceBlue; //奇数行颜色 再在dataGridView上添加两个事件,分别是CellMouseLeave和CellMouseMove 代码如下: privat…
winform中button点击后再点击其他控件致使button失去焦点,此时button出现黑色边线,去掉黑色边线的方法 button的FlatAppearence属性下,设置BorderSize=0 另外BorderColor.MouseDownBackColor.MouseOverBackColor设置为想要的值 设置鼠标悬浮和离开时的背景色统一,就实现了.…
1.C# WinForm 中 MessageBox的使用详解:http://www.cnblogs.com/bq-blog/archive/2012/07/27/2611810.html…
winform中很多任务是需要在后台线程(或类似)中完成的,也就是说,经常容易涉及到UI界面与后台工作线程之间的交互.比如UI界面控制后台工作的执行(启动.暂停.停止等),后台工作进度在UI界面上的显示.前两天一个员工在UI线程中访问数据库,刚开始数据库在局域网中,没感觉到什么,后来将数据库移到了外网,发现问题来了,至于问题原因想必诸位都知晓,更详细的解释请参考本系列博客(四).后将这方面的东西整理了一下,如下: 执行后台任务时,UI界面应该怎么做?大概分两种情况:(我自己随便给取的名字) (1…
如何在WinForm中请求发送HTTP 手工发送HTTP请求主要是调用 System.Net的HttpWebResponse方法 手工发送HTTP的GET请 求: string strURL = "http://localhost/Play/CH1/Service1.asmx/doSearch?keyword="; strURL +=this.textBox1.Text; System.Net.HttpWebRequest request; // 创建一个HTTP请求 request…
在项目中遇到过这样的问题,就是如何在Winform中播放视频.当时考察了几种方式,第一种是直接使用Windows Media Player组件,这种最简单:第二种是利用DirectX直接在窗体或者控件上绘图,这种比较复杂.于是采用的是第一种方法. 先从VS的工具箱里添加Windows Media Player组件,方式是打开工具箱,在最下面的空白处点击右键,选择项,然后在弹出的对话框里切换到Com组件标签项,找到“Windows Media Player”项并选中,确定后将在工具箱中看到多出一个…
本篇博客将介绍如何在WPF中使用ReportViewer控件. 1. 环境准备:下载安装最新版ReportViewer(PS:需要安装Microsoft SQL Server System CLR Types package):如果您的开发工具是Visual Studio 2015,记得安装Microsoft SQL Server Tools,因为需要安装ReportViewer报表设计器. 2. 下面我们通过一个例子(示例图书品种报表)来演示, 1). 新建一个WPF项目WPFBooksRep…
Winform中checklistbox控件的常用方法最近用到checklistbox控件,在使用其过程中,收集了其相关的代码段1.添加项checkedListBox1.Items.Add("蓝色"); checkedListBox1.Items.Add("红色"); checkedListBox1.Items.Add("黄色");2. 判断第i项是否选中,选中为true,否则为falseif(checkedListBox1.GetItemChe…
// winform中dataGridView高度自适应填充完数据的高度,就是dataGridView自身不产生滚动条,自己的高度是根据数据的多少而变动. 在load的时候,数据绑定后,加上如下代码: dataGridView1.Height = dataGridView1.Rows.Count * dataGridView1.RowTemplate.Height + dataGridView1.ColumnHeadersHeight; 原理:dataGridView的高度=dataGridVi…
在WinForm中是可以使用WPF中的控件(或者由WPF创建的自定义控件) 1.新建一个winform项目: 2.在解决方案上新建一个wpf项目: 如图: 如果有如下错误,就在winform中的引用添加System.xaml的引用即可: 错误 1 类型"System.Windows.Markup.IComponentConnector"在未被引用的程序集中定义.必须添加对程序集"System.Xaml, Version=4.0.0.0, Culture=neutral, Pu…
在 C# 的 WinForm 应用中,界面的绘制使用的是 GDI+.不过在一些特别的应用中,可能需要用硬件加速来提高绘制的效率.下面就来介绍两种在 WinForm 应用中嵌入 Direct2D 的方法. 这里所谓的“嵌入”,指的是只有窗口的某一部分应用 Direct2D 绘制(用一些控件承载),而不是整个窗口都使用 Direct2D 绘制.这是一种混合方案,需要用硬件加速的部分由自己来绘制,其它部分仍然可以使用现有的 WinForm 技术. 至于 Direct2D 的类库,我仍然使用 Sharp…