Tag: C#的

命令为WPF文本框,当我们按Enter键时触发

将WPF应用程序中的VIEWMODEL绑定到VIEWMODEL类的Command非常简单。 我想为TextBox实现类似的绑定。 我有一个TextBox ,我需要将它绑定到一个Command ,当我点击回车键时TextBox被激活。 目前,我正在使用以下处理程序的KeyUp事件,但它看起来很丑…我不能把它放在我的VIEWMODEL类。 private void TextBox_KeyUp(object sender, KeyEventArgs e) { if (e.Key == System.Windows.Input.Key.Enter) { // your event handler here e.Handled = true; MessageBox.Show("Enter Key is pressed!"); } } 有一个更好的方法吗?

获取小数点前的位数

我有一个decimaltypes的variables,我想检查小数点之前的位数。 我该怎么办? 例如, 467.45应该返回3 。

剖析dynamic拼贴

我正在处理MSIL分析器,并遇到ICorProfilerCallback接口的ManagedToUnmanagedTransition和UnmanagedToManagedTransitioncallback问题。 我想要检索的是关于正在调用的方法的信息(它驻留的名称和模块名称)。 到目前为止,它工作正常。 直到所谓的dynamic拼写发生(详细描述在: http : //blogs.msdn.com/b/jonathanswift/archive/2006/10/03/dynamically-calling-an-unmanaged-dll-from-.net-_2800_c_23002900_ .aspx ) 在这种情况下IMetaDataImport::GetPinvokeMap失败。 另外IMetaDataAssemblyImport::GetAssemblyProps返回“dynamic_pinvoke”作为程序集的名称。 profiler_1_0->GetTokenAndMetaDataFromFunction(function_id, IID_IMetaDataImport, (IUnknown**) &imd_import, &md_token); imd_import->GetPinvokeMap(md_token, &mapping, module_name, buffer_size, &chars_read, &md_module_ref); // here the fail occurs profiler_1_0->GetTokenAndMetaDataFromFunction(function_id, IID_IMetaDataAssemblyImport, (IUnknown**) &imd_assembly_import, &md_token); imd_assembly_import->GetAssemblyFromScope(&md_assembly); imd_assembly_import->GetAssemblyProps(md_assembly, 0, 0, 0, assembly_name, buffer_size, &chars_read, 0, 0); // assembly_name is set to "dynamic_pinvoke" 如何获取模块名称(.dll)和通过dynamicpinvoke被pinvoked的函数名称?

如何为SRC,OBJ和BIN子目录的C项目创buildMakefile?

几个月前,我提出了以下用于学校作业的通用Makefile : # ———————————————— # Generic Makefile # # Author: yanick.rochon@gmail.com # Date : 2010-11-05 # # Changelog : # 0.01 – first version # ———————————————— # project name (generate executable with this name) TARGET = projectname CC = gcc -std=c99 -c # compiling flags here CFLAGS = -Wall -I. LINKER = gcc -o # […]

如何从Web服务打印HTML文档?

我想从C#web服务打印HTML。 Web浏览器控件是矫枉过正的,在服务环境中运行不好,在安全性非常严格的系统上也不能正常运行。 有什么免费的.NET库,将支持打印一个基本的HTML页面? 这是迄今为止,我没有正确运行的代码。 public void PrintThing(string document) { if (Thread.CurrentThread.GetApartmentState() != ApartmentState.STA) { Thread thread = new Thread((ThreadStart) delegate { PrintDocument(document); }); thread.SetApartmentState(ApartmentState.STA); thread.Start(); } else { PrintDocument(document); } } protected void PrintDocument(string document) { WebBrowser browser = new WebBrowser(); browser.DocumentText = document; while (browser.ReadyState != WebBrowserReadyState.Complete) { Application.DoEvents(); } browser.Print(); } 从UItypes的线程调用时,这工作正常,但从服务types的线程调用时没有任何反应。 将Print()更改为ShowPrintPreviewDialog()产生以下IE脚本错误: […]

如何根据新的安全策略在.Net中发送电子邮件?

为了更好地保护用户,GMail和其他邮件提供商build议将我们的所有应用程序升级到OAuth 2.0。 我是对的,这意味着System.Net.Mail不再工作,我们需要使用另一个库,如MailKit ? 一般来说,我试图了解如何发送电子邮件,而不允许“访问不太安全的应用程序”? 因为我有System.Net.Mail.SmtpException: The SMTP server requires a secure connection or the client was not authenticated. The server response was: 5.5.1 Authentication Required. System.Net.Mail.SmtpException: The SMTP server requires a secure connection or the client was not authenticated. The server response was: 5.5.1 Authentication Required. 当smtpClient.Send(message); 执行。 如果解决这个问题的唯一方法是使用MailKit ,我认为这个问题将是一个很好的切实可行的从System.Net.Mail切换到使用MailKit和Google.Apis.Auth.OAuth2 。 我不知道也许一般的解决scheme将使用DotNetOpenAuth ? 我在我的应用程序中有以下类,它们对应于发送电子邮件到任何地址(gmail,yandex和其他): […]

Resharper:隐式捕获闭包:这个

我从Resharper那里得到这个警告(“Implicity capture closure:this”):这是否意味着这个代码捕获整个封闭对象? internal Timer Timeout = new Timer { Enabled = false, AutoReset = false }; public Task<Response> ResponseTask { get { var tcs = new TaskCompletionSource<Response>(); Timeout.Elapsed += (e, a) => tcs.SetException(new TimeoutException("Timeout at " + a.SignalTime)); if (_response != null) tcs.SetResult(_response); else ResponseHandler += r => tcs.SetResult(_response); return tcs.Task; } } 我不知道如何或为什么这样做 […]

用默认的应用程序和参数打开文件

使用默认应用程序打开文件最简单的方法是: System.Diagnostics.Process.Start(@"c:\myPDF.pdf"); 但是,我想知道是否存在一个方法来设置参数的默认应用程序,因为我想打开一个确定的页码中的PDF。 我知道我怎么能创build一个新的过程和设置参数,但是这样我需要指出应用程序的path,我想有一个可移植的应用程序,而不必设置应用程序的path每次我在其他电脑上使用该应用程序。 我的想法是,我期望计算机已经安装了PDF阅读器,只能说什么网页打开。 谢谢。

在.NET 4.5中,我可以在C#5中做什么,而在.NET 4中,我无法在C#4中做这些?

我已经在Windows 8 Release Preview上安装了Visual Studio 2012 RC,我的问题是有没有与Metro有关的有用的新function,或者Metro是什么单独的.Net 4和.Net 4.5?

结合陀螺仪和加速计数据

我正在用Lego Mindstorm的NXT系统构build一个平衡机器人。 我使用HiTechnic的两个传感器,第一个是加速度计,第二个是陀螺仪。 我已经成功地滤除了来自传感器和导出angular度的噪音,在-90和90度之间的范围内,0度被完美平衡。 我的下一个挑战是将两个传感器值结合起来以校正陀螺仪随着时间的漂移。 下面是我从实际数据中创build的一个示例图,用于演示陀螺仪的漂移: 我所见过的将这些传感器结合起来的最常用的方法是使用卡尔曼滤波器。 然而,我不是微积分专家,我真的不懂math符号,但我明白源代码中的math。 我正在使用RobotC(就像任何其他的C衍生物),如果有人能给我举例说明如何在C中实现这一点,我将非常感激。 感谢您的帮助! 解决scheme结果 好吧,kersny通过介绍互补滤波器解决了我的问题。 这是说明我的结果的图表: 结果#1 结果#2 正如你所看到的,滤波器可以校正陀螺仪的漂移,并将两个信号组合成一个平滑的信号。 编辑:由于我正在修复破碎的图像,我认为这将是很有趣的,以显示我用来生成这些数据的钻机: