Tag: .net

如何在DataGridView中格式化带有max和min的数字十进制的列?

我想格式化DataGridView中显示和捕获的小数位,我有一个最小小数位数和最大小数位数。 例如: If caught, “120.0” display “120.00” If caught “120.01” display “120.01” If caught “120,123” display “120,123” If caught “120.1234” display “120.1234” If caught “120.12348” display “120.1235” (round) 在DataGridView列中,“txtcDecimal”具有属性(来自设计者) txtcDecimal.DefaultCellStyle.Format = “N2”; txtcDecimal.DefaultCellStyle.Format = “0.00##”; // IS ANSWER. I do not work for an event that interfered 掩码“0.00 ##”作为“n2”工作只得到2位小数,它正确舍入到两位小数但只是不喜欢我需要的东西(如我在示例中所示) 如何在不消耗大量资源的情况下以简单的方式完成这项工作? 谢谢harlam357和Tom Garske

当作为方法组调用时,Type.GetType失败但在lambda表达式中没有

以下示例显示Type.GetType在特定方案中失败。 当我在lambda表达式中提供类名字符串(包括命名空间)时,GetType会成功,但是当我将GetType指定为方法组时,会失败。 失败: collectionOfClassNames.Select(GetType) 成功: collectionOfClassNames.Select(s => GetType(s)) 当类路径包含程序集名称时,这两种方法都会成功。 我怀疑它与当前上下文/范围有关,因为上面生成了IL。 我可以看到IL的差异,但我仍然无法解释确切的原因。 以下是演示该问题的可运行示例。 using System; using System.Linq; using System.Reflection; namespace GetTypeTest { public class FindMe{} class Program { static void Main(string[] args) { var assemblyName = Assembly.GetExecutingAssembly().FullName; var className = “GetTypeTest.FindMe”; var classAndAssembly = string.Format(“{0}, {1}”, className, assemblyName); // 1) GetType succeeds when input is “class, […]

检测具有相同子项的实体

我有两个实体, Class和Student ,以多对多关系链接。 从外部应用程序导入数据时,遗憾的是一些类是一式两份创建的。 “重复”类具有不同的名称,但是相同的主题和相同的学生。 例如: {Id = 341,Title =’10rs / PE1a’,SubjectId = 60,Students = {Jack,Bill,Sarah}} {Id = 429,Title =’10rs / PE1b’,SubjectId = 60,Students = {Jack,Bill,Sarah}} 匹配这些重复类的名称没有一般规则,因此识别这两个类是重复的唯一方法是它们具有相同的SubjectId和Students 。 我想使用LINQ来检测所有重复项(并最终合并它们)。 到目前为止,我尝试过: var sb = new StringBuilder(); using (var ctx = new Ctx()) { ctx.CommandTimeout = 10000; // Because the next line takes so long! var allClasses […]

如何在C#中添加对程序集的引用?

我收到错误: 类型’system.windows.controls.control’是在未引用的程序集中定义的。 如何添加对程序集的引用?

包装速率限制API调用

我有一个API调用,它接受每秒最大调用率 。 如果超过速率, 则抛出exception 。 我想把这个调用包装成一个抽象,它可以使调用率保持在极限之下。 它将像网络路由器一样:处理多个呼叫并将结果返回给正确的呼叫者,关注呼叫率。 目标是使调用代码尽可能不知道该限制。 否则,具有此调用的代码中的每个部分都必须包装到try-catch中! 例如:想象一下,您可以从可以添加2个数字的extern API调用方法。 此API可以每秒调用5次 。 高于此值的任何内容都将导致exception。 为了说明问题,限制通话费率的外部服务就像这个问题的答案中的那个 如何使用Observables构建速率限制API? 附加信息: 由于每次从代码的任何部分调用此方法时都不需要担心该限制,因此您可以考虑设计一个可以调用的包装器方法,而不必担心速率限制。 在内部你关心限制,但在外面你暴露了一个简单的异步方法。 它类似于Web服务器。 它如何将正确的结果包返回给正确的客户? 多个呼叫者将调用此方法,他们将获得结果。 这种抽象应该像代理一样。 我怎么能这样做? 我确定包装方法的公司应该是这样的 public async Task MyMethod() 在方法内部,它将执行逻辑,可能使用Reactive Extensions(Buffer)。 我不知道。 但是怎么样? 我的意思是,多次调用此方法应该将结果返回给正确的调用者。 这有可能吗? 非常感谢!

Identity Server v3自定义页面重置密码

我想在登录页面上创建一个将重定向到http:// server / resetpassword /的URL,并且会有我的cusotm页面,从示例中创建CustomViewServices,但是没有示例如何添加自己的页面 https://github.com/IdentityServer/IdentityServer3.Samples/tree/master/source/CustomViewService 有任何想法吗?

使用更改的默认打印机设置打印PDF

Google / Bing没有为我的以下问题提出任何解决方案,希望有人可以帮助我: 我们必须在基于C#的程序中打印各种PDF文件。 在我们打印之前,我们必须配置打印机,例如将方向设置为横向。 我试图更改默认的打印机设置,例如: PrinterSettings settings = new PrinterSettings(); settings.PrinterName = “\\\\SomeNetworkPrinter\\”; settings.DefaultPageSettings.Landscape = true; settings.Duplex = Duplex.Horizontal; 我们通过PDFSharp将PDF发送到打印机,这基本上可以正常工作,但我的设置完全被忽略了。 是不是可以通过这种方式更改默认打印机设置? 我们有机会更改设置并打印我们的PDF文件吗? 非常感谢你提前!

为什么这个枚举声明现在有效?

在回答另一个问题时,Jon Skeet提到enums的定义有一个奇怪的事情。 他的回答。 他声明重新定义enum的基础类型只能使用类型别名而不能使用框架类型( int有效, Int32不能等) public enum Foo : UInt32 {} // Invalid public enum Bar : uint {} // Valid 现在我试图重现(在VS2015中使用C#6 / Roslyn),我没有得出相同的结论: public enum TestEnum : UInt32 { } 和 public enum MyEnum : uint { } 都是完全有效的。 为什么会这样? 或者改变了什么? 编辑: 所以为了清理事情,它是C#6的一个变化,尚未被记录,并且很快就会记录下来,因为你可以从Roslyn Github上的这个git问题中读到

将CurrentCulture设置为Task creator CurrentCulture来执行任务

我有一个使用Tasks的应用程序。 我们还修改了cultureInfo(我们使用EN-US语言,但保留日期/数字格式),我们使用.Net 4.0。 应用程序有很multithreading和任务,我们有一个工厂来创建任务/线程。 对于该线程,我们有以下代码,以确保使用正确的CurrentCulture启动每个线程: //This is basically only the constructor, but it describe well how we create the Thread: public MonitoredThread(ThreadStart threadStart, string name, bool isBackground = false) { m_threadStart = threadStart; m_name = name; m_isBackground = isBackground; Thread = new Thread(ThreadWorker) { Name = name, IsBackground = isBackground, CurrentCulture = CustomCultureInfo.CurrentCulture, CurrentUICulture = […]

错误:在传递带有已修改行的DataRow集合时,Update需要有效的UpdateCommand

我正在使用Paging在datagridview显示数据,但是当我尝试使用updatebutton更新任何数据时,应该在datagridview和数据库中更新datagridview 。 但我得到这个错误: 在传递带有已修改行的DataRow集合时,Update需要有效的UpdateCommand 发生在这一行: adp1.Update(dt);//here I am getting error 以下是代码 public partial class EditMediClgList : Form { public EditMediClgList() { InitializeComponent(); try { con = new OleDbConnection(@”Provider=Microsoft.Jet.OLEDB.4.0;Data Source=db1.mdb”); con.Open(); } catch (Exception err) { MessageBox.Show(“Error:” +err); } cmd1 = new OleDbCommand(“Select * from MedicalColeges order by MedicalClgID”, con); ds = new DataSet(); adp1 = […]