【c#-使用MVVM模式正确实现WPF自定义MessageBox】教程文章相关的互联网学习教程文章

C# 打印 无需自定义打印类

private void btnPrint_Click(object sender, EventArgs e) { //PrintPreviewDialog pd = new PrintPreviewDialog(); //pd.ShowDialog(this); //PrintDialog pd = new PrintDialog(); PrintDocument pd = new PrintDocument(); pd.PrintPage += new PrintPageEventHandler(pd_PrintPage); PrintPreviewDialog cppd = new PrintPreviewDialog(); ...

C#自定义集合类(一)【代码】【图】

.NET中提供了一种称为集合的类型,类似于数组,将一组类型化对象组合在一起,可通过遍历获取其中的每一个元素自定义集合需要通过实现System.Collections命名空间提供的集合接口实现,常用接口有:ICollection:定义所有非泛型集合的大小,枚举数和同步方法IComparer:公开一种比较两个对象的方法IDictionary:表示键/值对的非通用集合IDictionaryEnumerator:枚举非泛型字典的元素IEnumerable:公开枚举数,该枚举数支持在非泛型集合...

c# Menu和ContextMenu自定义风格简单实现【代码】

为了实现自定义的Menu和ContextMenu效果,可以通过派生ProfessionalColorTable类,在自定义类中通过重写ProfessionalColorTable类的相关属性,产生自定义菜单效果。using System.Drawing; using System.Windows.Forms;public class CustomToolStripColorTable : ProfessionalColorTable { /// <summary> /// 主菜单项被点击后,展开的下拉菜单面板的边框 /// </summary> public override Color MenuBorder { ...

C# Winform表格DataGridView自定义列(文本列、ComboBox列)【代码】

例子:DataGridView dv = this.dataGridView1;//自定义普通文本列 DataGridViewTextBoxColumn dc3 = new DataGridViewTextBoxColumn();dc3.Name = "FMapName";dc3.DataPropertyName = "FMapName";dc3.HeaderText = "对应名称";dc3.ReadOnly = true;dv.Columns.Add(dc3);//自定义ComboBox列(整个列的每一行都有一个ComboBox控件) DataGridViewComboBoxColumn dc2 = new DataGridViewComboBoxColumn();dc2.HeaderText = "对应代码"...

C# 自定义重绘TabControl【代码】【图】

using System.Drawing; using System.Windows.Forms; using System.Drawing.Drawing2D; using System.Runtime.InteropServices; using System; using System.Drawing.Text; using System.ComponentModel;namespace ControlExs.ControlExs.CTabControl {publicclass CTabControl : TabControl{public CTabControl(): base(){SetStyles();}privatevoid SetStyles(){base.SetStyle(ControlStyles.UserPaint |ControlStyles.DoubleBuff...

C#获取EF实体对象或自定义属性类的字段名称和值【代码】【图】

原文:C#获取EF实体对象或自定义属性类的字段名称和值在年前上班的时候遇到了一个问题是这样描述的:我前台设计一个页面,是标签和文本框,当用户修改了哪个文本框的值,将该修改前的值、修改后的值,该值对应的字段,该值对应的行id获取到保存到数据库的某张表里。现在数据库有一张表,结构如下:修改记录表ID  修改行ID修改列名称修改前的值修改后的值所属修改批次修改时间1  1test10112013-10-11 第一批次2013-10-11思路:1、...

C# 全屏坐标及区域坐标获取。自定义光标及系统光标描边捕捉显示。【代码】

最近手头工作比较轻松了一点就继续研究和完善之前的录屏软件,使用AForge最大的问题在于:最原始的只能够录全屏,而自定义的录屏需要更改非常多的细节:like follows:1、需要支持区域化录屏;2、需要支持麦克风录音,并且混音在视频中,同步;3、需要支持系统声音录取、并且需要混音在视频中,同步;4、需要支持捕获光标,并且自定义颜色、描边,最重要的是你需要在区域录屏的时候支持坐标位置更新(相对比较难); 前面3个已经在...

【转载】C#中自定义Sort的排序规则IComparable接口【代码】

C#中的List集合在排序的时候,如果不使用Lambda表达式进行排序的话,一般调用Sort()方法进行排序,如果希望Sort()方法排序后的结果跟我们预想的效果一致或者按照我们自定义的规则排序,则需要将对应的实体继承IComparable接口来实现。 MSDN上给IComparable接口的定义为:定义由值类型或类实现的特定于类型的通用比较方法,旨在对其实例进行排序,使自建类的数组可以使用Array. Sort方法进行排序。自建类继承IComparable接口后...

C# 直接创建一个DataTable,并为之添加数据(自定义DataTable) 转

DataTable dt=new DataTable("cart"); DataColumn dc1=new DataColumn("prizename",Type.GetType("System.String")); DataColumn dc2=new DataColumn("point",Type.GetType("System.Int16")); DataColumn dc3=new DataColumn("number",Type.GetType("System.Int16")); DataColumn dc4=new DataColumn("totalpoint",Type.GetType("System.Int64")); DataColumn dc5=new DataColumn("prizeid",Type.GetType("System.String...

c# 通过json.net中的JsonConverter进行自定义序列化与反序列化【代码】【图】

相信大家在工作中会经常遇见对json进行序列化与反序列化吧,但通常的序列化与反序列化中的json结构与c#中的类模型结构是相对应的,我们是否可以在序列化一个对象时候,让我们json的数据结构能按照自己的意愿,而不必与该对象的数据结构一样呢?,比如说,一个对象,只有一个名为"ID"的int类型的属性,值为1,如果序列化该对象,则能得到json:{"ID":1},但我现在希望得到的json的"ID"值是bool类型:{"ID":true}。要满足能够进行自定...

c# – 在设计模式下从表单中删除自定义控件后,清除自定义控件属性的InnerList元素【代码】

我将创建的自定义控件添加到新的Windows窗体,并通过“Tabs”属性向其添加一些Tab.但是,当我从Windows窗体中删除自定义控件时,不会删除“选项卡”属性的元素.请参阅下面的数据以获取更多信息: 图1 – 我的自定义控件“Tabs”属性及其Collection Editor > Blue Box:我的自定义控件的“Tabs”属性>红盒:向“标签”属性添加元素 我将一些成员添加到Tabs属性时显示图1. 图2 – 将一些成员添加到Tabs属性后的Windows窗体项目控件 >红...

C#-log4net自定义日志对象和附加程序【代码】

我想扩展log4net以接受自定义日志对象作为参数.例如:public class MyLogObject{public string PropA;public int PropB;}private MyLogObject entry = new MyLogObject() {PropA = "FooBar", PropB = 1};Log.Debug(entry);…这应该类似于例外. 在第二步中,应使用自定义数据库附加程序将自定义日志对象写入数据库.定制数据库追加器将类似于ADONetAppender,但进行了一些修改,例如内部缓冲的日志条目队列. 有谁知道它是否适用于log4ne...

c# – 我是否必须使用CopyTo将自定义集合转换为可枚举的?【代码】

请考虑以下代码:var results = searcher.FindAll();SearchResult[] srList = new SearchResult[results.Count]; results.CopyTo(srList, 0);其中searcher.FindAll()返回System.DirectoryServices.SearchResultCollection. 我是否必须使用CopyTo将它们放入可枚举的中,然后我可以在Parallel.ForEach中使用它?如果是这样,为什么? 我使用System.Linq但没有弹出ToList方法. 谢谢大家!解决方法:您可以使用Cast<T>()将SearchResultCol...

c# – 如何使用自定义命名空间创建SyndicationFeed【代码】

如何生成包含下图中显示的命名空间的Atom Feed? Atom提要的所有节点都必须以“a:”开头. 这是我现在正在做的事情,但它不起作用.SyndicationFeed feed = new SyndicationFeed();XmlQualifiedName key = new XmlQualifiedName("os", "xmlns");feed.AttributeExtensions.Add(key, "http://a9.com/-/spec/opensearch/1.1/");谢谢!解决方法:我相信它应该是SyndicationFeed feed = new SyndicationFeed(); XmlQualifiedName key = new...

c# – 如何在使用自定义ValidationAttribute和INotifyDataErrorInfo验证另一个属性时触发对一个属性的验证【代码】

直到最近,我使用了IDataErrorInfo接口的自定义扩展版本.我的扩展程序使我能够同时处理多个错误,到目前为止,它对我很有帮助.然而,随着INotifyDataErrorInfo接口的引入,我想我会试验它,看看是否有任何改进. 在阅读了一些在线教程之后,我使用了System.ComponentModel.DataAnnotations命名空间中的各种ValidationAttributes.使用这些属性可以提供如下基本验证规则:[MinLength(3, ErrorMessage = "Name must be longer than 3 characte...

MVVM - 相关标签