C#
文章平均质量分 50
习明然
IT工程师、90后
展开
-
wpf调用flash插件报错处理
在接手的wpf项目中,用到了flash插件,代码编译通过,但是运行起来报错:初始化“AxShockwaveFlashObjects.AxShockwaveFlash”时引发了异常,没有注册类 (异常来自 HRESULT:0x80040154 (REGDB_E_CLASSNOTREG))其实看得出来,也就是flash环境出现了问题,导致VS运行报错,引发xaml生成失败,以至于无法运行此wpf程序。同时,如果点击代码生成的exe也是没有反应的,原因也是如此。解决的思路还是处理flash环境,尝试了不少原创 2021-10-29 22:30:00 · 448 阅读 · 0 评论 -
WPF开发经验点
1.更改命令空间后,g.i.cs文件无法覆盖,导致编译没法通过,可以通过设置App.xaml文件的属性中的生成操作(Build Action),实际通过改未Page后再改回ApplicationDefinition即解决了此问题。原创 2021-09-23 16:45:20 · 751 阅读 · 0 评论 -
WPF中listview控件绑定右键菜单命令
在MvvM模式中,需要为listview控件绑定右键菜单命令,实现右键菜单,触发Command命令,并传递选中的所在项。 <ListView.View> <GridView > <GridViewColumn Header="时间" Width="160" Displa...原创 2019-12-26 21:14:06 · 2531 阅读 · 0 评论 -
VUE于WPF中MvvM模式异同
因为在学VUE和WPF,又由于它们都采用了Mvvm模式,所以这里做一个简单的对比记录,方便记忆1.Vue意义上的ViewModel和View通常在一个页面,通过new Vue创建ViewModel,el指定页面View中的id并关联起来,data提供json数据以供绑定,methods提供函数以供绑定。代码如下:<body> <div id="vue_det">...原创 2019-12-11 23:35:34 · 3380 阅读 · 0 评论 -
【C#】创建共享项目
在最新的VS编译器中,可以创建共享项目了,使用共享项目,可以编写由多个不同的应用程序项目引用的通用代码。此代码编译为每个引用项目的一部分,并且可以包含编译器指令以帮助将平台特定的功能合并到共享代码库中。共享项目(有时也称为共享资产项目)允许编写在多个目标项目之间共享的代码,可以提供基于不同平台的统一处理方式,例如Xamarin 应用程序。它提供了 IDE 支持,可帮助管理编译器指令并直...原创 2019-12-06 23:09:38 · 4095 阅读 · 0 评论 -
mysql连接报错 Host * is not allowed to connect to this MySQL server
首先我们要理解,mysql在VS中使用数据实体对象映射时,会因为版本的不同,需要不同的连接匹配dll,即mysql-connector-net和mysql-for-visualstudio。否则新建连接时,将没有mysql选项,正常的如下:这里VS编译器版本不同,mysql-connector-net和mysql-for-visualstudio对应的版本也会有所不同,如果你已经安装了VS...原创 2019-11-06 23:15:41 · 395 阅读 · 0 评论 -
VS2019安装包下载太慢的问题
最近不知什么原因,Visual Studio Installer打开进行安装更新时,显示下载非常慢,只有几K每秒,这里不截图,反正就是很慢,几乎安装不了。解决方式:更改DNS服务器地址为1.1.1.1即可,安装完毕后再重新改回来。...原创 2019-10-31 18:43:28 · 13461 阅读 · 7 评论 -
【C#】最完整的IIS添加WCF配置
Windows的网站服务器IIS,默认是没有WCF运行环境的,所以需要自己添加配置。之后,才能作为一个网站后台服务,提供接口以供外部调用。下面就其完整步骤进行说明:第一步:检查Windows7中IIS是否安装了必要的组件方法:控制面板->程序和功能->打开或关闭Windows功能,以下图片中标注的功能Windows7默认不会安装的第二步:检查IIS的配置...原创 2018-05-20 23:28:16 · 10524 阅读 · 1 评论 -
【C#】解决dev控件中gridcontrol导出到excel的格式问题
dev控件中gridcontrol原样文本格式导出的处理dev控件中gridcontrol控件有个功能,可以将里面的数据导出到excel文件中。简单的导出代码如下:private void ExcelOut() { SaveFileDialog fileDialog = new SaveFileDialog(); fileDi...原创 2018-06-27 21:46:21 · 6639 阅读 · 3 评论 -
WPF界面布局知识点总结
WPF的布局主要分为以下几类,从而为界面提供基本的块结构,这里基本使用场景:StackPanel 使用水平或垂直堆叠的方式放置元素。该面板非常简单,但是非常有用,适用于一些 小范围的布局 WarpPanel 当水平方向时,从左到右的布局子元素。当可用的宽度不够时,则开启一个新的行再 进行从左到右的排列。当垂直方向时,从上到下地排列子元素。当高度不够时,则开 启...原创 2019-08-04 17:42:31 · 360 阅读 · 0 评论 -
WPF控件模板和数据模板的区别
是的,最近在看WPF,也算是加深下c#的知识,毕竟winform的界面有的时候真的不是很美观。WPF中模板与Style不同,Style只能改变控件的已有属性值(比如颜色字体)来定制控件,形同HTML中的CSS,但控件模板可以改变控件的内部结构(VisualTree,视觉树)来完成更为复杂的定制,其实WPF的每一个控件都有一个默认的模板。数据模板跟控件模板的区别主要体现在,通常情况下,控件模板只...原创 2019-08-10 23:46:46 · 3240 阅读 · 1 评论 -
WPF之MVVM学习笔记
学习了一些MVVM的开发实例,参考了一些博客文章,这里对于一些重要的点,做个记录。1.WinForm更新UI的操作是通过后台操作UI名,即ID来完成的。WPF是通过数据Binding来实现UI更新的。2.WinForm响应用户操作的方式是事件Event。WPF是通过命令(Command)Binding的方式。MVVM中,通过Binding可以实现数据的传递,通过Command可以实现操...原创 2019-08-25 20:10:59 · 240 阅读 · 0 评论 -
WPF行列对换的横向DataGrid
我们都知道,DataGrid控件的行和列是固定了的,在绑定对象的时候,一个对象绑定一行,通多列名来实现数据绑定。那如果想要一个对象绑定一列怎么办呢,如何让DataGrid控件实现行固定,列不断增加?其实DataGrid控件实际上是仅支持一个维度的集合,为啥DataGrid有行和列? DataGrid的可视树中是根本没有所谓列的概念的,只有行和单元格的概念。其实一个维度嵌套在另一个维度中,就能够形成...原创 2019-10-22 17:57:44 · 2750 阅读 · 2 评论 -
WPF之GridSplitter浅谈
WPF中会经常用到Grid布局,而在布局中,我们有时会考虑使用可变的宽度,那么就会用到GridSplitter控件,以便实现重新分割,改变布局。而在实际使用中,我们有可能有这样的需求,GridSplitter分割布局使界面可调整大小,但同时也需要一个初始值。如果直接用的话,可能存在这样的情况,初始值设定成某个数值,剩余的为*,这样处理的缺点是拖动GridSplitter时,设置成某个数值的区域,会...原创 2019-09-06 18:13:16 · 2725 阅读 · 0 评论 -
WPF中为DataGrid设置行样式
WPF中我们可能会遇到这样的需求,就是需要为不同的行设置行样式,而不是统一的样式,实现方式主要分为两种。第一种,通过代码设置行样式。首先选中datagrid控件,选择为控件添加loadingrow事件,接着再添加如下代码 private void dataGridView1_LoadingRow(object sender, DataGridRowEventArgs e) ...原创 2019-12-05 18:41:32 · 2582 阅读 · 2 评论 -
【C#】可空类型转为原类型
C#中,会遇到将可空类型和原类型进行比较处理的情况,例如一个实体对象类中,申明了如下变量public long? PrdtID而实际需要处理的时候,是long类型的,而不是long?类型,如下是一个linq语句用到的过滤:这个时候处理方式就是,对long?类型变量取value吧,报错就消失了。如图:很小的一个知识点,忘了几次了,这里算是记录下吧。...原创 2018-06-06 22:46:42 · 2368 阅读 · 0 评论 -
【C#】IIS中安装部署WCF环境
WCF 4.0 一般默认安装.net Framework 4.0的时候已经安装。但如果先装.net framework 4.0,后装IIS,就会出现问题。需要重新注册WCF4.0。第一步:检查Windows7中IIS是否安装了必要的组件:控制面板->程序和功能->打开或关闭Windows功能以勾选下图片中标注的功能Windows7默认不会安装的,而在windows ...原创 2018-01-05 14:26:05 · 2749 阅读 · 0 评论 -
【C#】判断程序集是debug还是release版本
或许在开发过程中,你会遇到这种情况,我们拿到一个dll或者exe,不知道这个程序集是debug还是release版本。其实C#开发中,我们是在JIT运行环境中来判断程序集,是否是debug还是release版本。直接上代码吧,如下是控制台程序,比较简单:using System;using System.Collections.Generic;using System.Di...原创 2017-10-12 22:42:16 · 3350 阅读 · 0 评论 -
【C#】To enable just-in-time (JIT) debugging错误的解决方式
写了个Windows桌面程序报错,具体错误信息大致如下:See the end of this message for details on invokingjust-in-time (JIT) debugging instead of this dialog box.……************** JIT Debugging **************To e...原创 2017-09-20 16:04:19 · 25695 阅读 · 2 评论 -
【C#】在IIS7.5中调用执行cmd命令生成文件失败
项目是这样的,C++人员写了一个dll,便于跨平台调用,所以用的是控制台界面传参调用,目的是生成一个文件。代码编写完成后,本机没问题,发布到阿里云服务器始终调用不成功,而直接在cmd界面是可以调用执行成功的。代码主要如下: /// <summary> /// 执行cmd命令 /// </summary> ...原创 2018-10-23 11:41:26 · 2132 阅读 · 3 评论 -
【C#】EntityFramework的添加使用
EntityFramework是C#中用于操作数据库的一种方式,比直接用sql语句操作数据库更加方便,尽管效率略微低一点点,但在一般情况下,这种代码级操作数据能在编码中就能发现错误,写起来也更顺手。下面通过图形界面操作详解一下步奏:1.在现有项目添加一个用于数据库操作层的项目DataAccess:2.安装Entity Framework确保已安装NuGet,在上面的项目中选择引用,...原创 2018-09-07 10:49:28 · 5799 阅读 · 0 评论 -
【C#】Ionic.Zip压缩文件无多级目录
Ionic.Zip是一个压缩扩展包,可以通过它实现文件的解压缩。在处理之前,需要在VS编译器中下载安装Ionic.Zip包,之后添加引用。代码如下: /// <summary> /// 实现压缩文件 /// </summary> /// <param name="files">压缩的文件集合&l...原创 2018-08-22 16:25:15 · 1308 阅读 · 0 评论 -
【C#】LINQ to Entities 不识别方法“System.String ToXX()”,因此该方法无法转换为存储表达式
使用LINQ to Entities一不小心就会碰上类似的错误:LINQ to Entities 不识别方法“XX”,因此该方法无法转换为存储表达式,这是因为LINQ语句最后都是要转为sql语句来执行的,当它转换后,发现sql语句中要执行的方法“XX”,并不是一个在数据库中的存储过程函数,也无法进行转换为存储表达式。主要分为三种情况,下面用各自的解决方式区别应对:一.作为判断的局部变量在...原创 2018-06-13 23:07:08 · 3000 阅读 · 0 评论 -
【C#】Entity异常导致WCF基础提供程序在open上失败
事情是这样的,因为业务和员工离职方面的原因,被安排到做服务器更改。于是,在阿里云购买了相同参数和配置的新服务器之后,决定搭建新的软件运行环境。由于架构是前台界面加上后台服务采用的WCF,于是,将运营环境以及数据库安装好了之后,便开始着手安装后台WCF服务。步骤完全参照上一篇文章,点击打开链接,一步步安装配置好WCF组件。紧接着便将WCF后台程序部署到了IIS上面,想来应该没什么问题了,通...原创 2018-05-30 23:13:00 · 4870 阅读 · 0 评论 -
【C#】泛型方法结合反射的妙用
反射是一种动态加载程序集中所定义类型的过程,当然也包括它自身所在的程序集。这里继续沿用上篇文章的例子,总结在泛型方法中结合反射思想,从而优化代码。上篇文章处理了通过返回的中文枚举结果,翻译为对应中文的方式,从而便于最后展示为英文。由于只有一个后台,而该后台又是中文,客户端又是英文,所以这里在提交之前,还需要将对象中的英文字段,翻译为中文之后,通过调用后台接口入库,否则校验通不过调用将失败。...原创 2018-01-16 22:47:06 · 545 阅读 · 0 评论 -
【C#】泛型方法的妙用
泛型允许灵活地创建类型,处理一种或多种特定类型的对象,这些类型是在实例化时确定的,不能假定该泛型对象提供了什么类型。这里通过一实例,来例举泛型带来的好处。项目遇到一个中英文互相翻译的情况,但由于是接口调用的关系,后台返回的结果定义的是枚举,并且枚举的种类和数量很多。例如角色枚举,运行模式枚举,用户权限枚举,用户启用枚举等等,举例: /// <summary> ...原创 2018-01-12 16:25:56 · 5120 阅读 · 0 评论 -
【C#】Dev控件使用之simplebutton设置背景色
Dev控件的使用,跟原生略有不同,特别是外观设置方面,容易引人疑惑。这种情况出现在设置了某控件属性中的Appearance里面的BackColor后,背景色并没有改变。而自带的控件,外观方面的属性设置值之后,是一定会产生作用的,最多会因为优先级关系导致未达到预想效果。要对simplebutton按钮控件设置背景色,除了给其Appearance下的BackColor属性赋值之外,还需要将B...原创 2017-12-19 17:27:21 · 9937 阅读 · 0 评论 -
【C#】截图并保存为图片
在winform开发中,有时会用到截图并保存为图片的时候,这里列了三种保存图片的可能情况。将窗体截图保存成图片的方式是:Bitmap bit = new Bitmap(this.Width, this.Height);//实例化一个和窗体一样大的bitmapGraphics g = Graphics.FromImage(bit);g.CompositingQuality = Comp...原创 2019-05-27 18:04:09 · 4364 阅读 · 3 评论 -
【C#】Linq获取一个对象下的list对象,再之下的list对象中的某字段所有数据
实际开发中,遇到一个问题,即在某个对象下的list下,还有list,再获取某个字段的所有数据,类结构层级如下: public sealed class accountbooks { public DateTime CreateDate { get; set; } public string Version { get; ...原创 2019-05-21 22:24:35 · 6359 阅读 · 0 评论 -
Dotfuscator4.9混淆后不能运行的经验总结
是这样的,在开发一个软件后,想用代码混淆工具进行混淆,在试用了ConfuserEx,DotNETReactor,MaxtoCode,Dotfuscator等工具后,发现一个问题,再混淆之后,程序无法运行,会报错。如下图:这下好了,由于考虑到并未引用其它程序集,该程序都在一个程序集下,那么估计多半是代码导致。因为混淆工具大部分功能是依靠反射,将原代码获取后重新整理,进行的是名称或是字符串混淆...原创 2019-09-10 21:44:03 · 1147 阅读 · 0 评论 -
【C#】一个不错的VS编译器调试小技巧
项目中遇到一个很有意思的情况,在一个类各个属性赋值的下一行代码处打断点,因为我想知道其各个属性是否初始化赋值成功。这里我们写一个demo来做演示,当然,精简了很多属性及继承结构和调用关系。 新建一个控制台应用程序,有两个实体对象类,分别是Man和Student,其中Student继承于Man,所以在Student构造函数初始化中,也对其父类属性也进行了赋值。代码如下:...原创 2017-08-24 16:44:01 · 1895 阅读 · 0 评论 -
【C#】实现label文字循环滚动
想在C#中实现label文字滚动,实现新闻播放时,底栏的热点资讯滚动。其实就是添加一个timer,定时改变label的位置而已,先来张效果图: 代码很简单,没什么可以说的,直接贴上: public partial class MainForm : Form { private int mPostionX, mPostionY;...原创 2017-07-07 18:05:00 · 7875 阅读 · 0 评论 -
【C#】ref与out使用区别探究
在C#语言中,ref与out都是引用传递关键字,旨在将一个对象传递进一个方法后,返回此方法“加工”后的对象,还可用于实际需求需要函数返回多个返回值。那么有没有什么情况下,只能用其一?有的。一般性的面向过程开发的代码编写,两者我认为是可以换用没问题,但在面向对象中,有时只能用其一。下面来看看此情况: 假设我们现在需要一个通信层发送命令,我们将所有命令都缓存到一个队列里面,交...原创 2017-05-04 14:23:24 · 435 阅读 · 0 评论 -
【C#】DES的16进制加解密
头些天在实际项目中,需要用到DES加解密验证,因为其它项目也用的这个加解密方式,为了通过字节流查看是否一致和有无错误,要做一个加解密工具。实际上敲出代码后,发现C#对DES加解密有点不一样,体现如下: 发现每次点击加密,输出的字符串在发生变化,代码是这样的: public class DES { /// <summar...原创 2017-04-10 22:20:05 · 5550 阅读 · 5 评论 -
【C#】Xamarin.Forms框架引发APP崩溃典型bug
前面总结了Xamarin.Forms开发跨平台APP的感受,今天说说几个关于Xamarin.Forms框架的bug吧。 (1)下拉刷新崩溃:目前Xamarin.Forms中的listview快速的下拉刷新,会导致崩溃,这个是必现bug,只要刷快点,笔者亲身体验是10来次左右,就会出现,从而导致APP崩溃,调试环境下VS崩溃报错截图 这个bug一直悬而未决,...原创 2017-01-21 18:18:48 · 2184 阅读 · 0 评论 -
【C#】用VS2015中Xamarin开发跨平台APP的感受(二)
上篇文章主要讲了用VS2015中Xamarin开发跨平台APP上手体验,包括环境搭建和安装体验,以及一些开发上的初体验,时至今日,用Xamarin进行跨平台开发又有一段时间了,今天就具体开发过程中要面对的东西,来说说开发感受吧。 (1)导航的不好处理:上篇也有提及,将原生的activity换成wpf中的from,这样需要自己定义导航,原生的activity管理的页面是...原创 2016-12-22 16:45:48 · 10749 阅读 · 2 评论 -
【C#】用VS2015中Xamarin开发跨平台APP的感受
由于新项目需要开发APP,团队内部都是C#开发工程师,还需要考虑安卓和iOS两个版本,被安排学习VS2015里面的Xamarin.Froms开发。想起微软刚收购Xamarin后,大肆宣传Xamarin跨平台开发的牛逼,自己本行又是C#,也就一头扎进去了。毕竟,去年刚发布时,Xamarin还要收费,价格对于个人开发者来说还不便宜。挺坑的,想来没几个人用过,或者会用收费的IDE吧,当时还...原创 2016-11-09 11:06:11 · 15327 阅读 · 2 评论 -
【C#】调用C++编写的dll在IIS中报错,vs里面没有问题
项目中,用C#开发了一个web服务后台,提供接口以供外部调用。最近功能更新,更改了某个接口的实现,发版并测试之后,发现在vs中调试一切正常,但是发布到IIS中运行,就会出现问题,该接口调用不了。由于是java web调用C#后台,调用后台的代码,是由web服务后台的wsdl文件生成,现在接口调用出错,加上只有此次更改后的接口调用出错,其它接口一切正常,而且在vs编译器下又一切正常。...原创 2017-11-22 22:22:35 · 2922 阅读 · 0 评论