所有TextBox的一个事件

我在WPF C#中做了一个简单的程序,我有很多TextBox – 每个TextBox做同样的事情,我很懒,为每个TextBox编写每个事件。 那么,有没有办法如何通过一个事件服务所有TextBox ? 有一个简短的代码: private void OnMouseLeft(object sender, MouseButtonEventArgs e) { TextBox1.Text = string.Empty; TextBox1.Foreground = Brushes.Black; } private void OnMouseLeft1(object sender, MouseButtonEventArgs e) { TextBox2.Text = string.Empty; TextBox2.Foreground = Brushes.Black; } 谢谢! 🙂

自定义MSBuild任务:如何在任务仍在运行时刷新VS2012输出窗口中的日志记录?

我有一个自定义的MSBuild任务,需要一些时间才能完成。 它使用Log.LogMessage()或BuildEngine.LogMessageEvent() (两者都尝试)输出进度。 我的问题是,在任务完成之前,所有输出都不会出现在VS2012输出窗口中,从而使进度更新无效。 我希望在任务运行时立即显示输出。 我发现各种线程解释经常调用Application.DoEvents() ,但这似乎并没有解决问题(也许它只适用于VS2010及之前?)。

ABCpdf上的符号字体

我正在使用ABCpdf.net组件将HTML转换为PDF。 某些HTML使用Symbol字体显示某些字符。 不幸的是,我们正在使用来自第三方的HTML,并且无法更改。 我的开发环境正确显示字体,但我的生产环境不会。 它就像没有安装字体一样,即使它是。 如果我在生产环境中在Internet Explorer中呈现相同的HTML,则显示正常。 我尝试将字体嵌入为.eot并在标题中提供@ font-face样式。 我尝试过使用TheDoc.AddFont(’Symbol’)。 有什么建议? 产品:ABCpdf .NET 7 x64 生产操作系统:Windows Server 2003 x64,IE8 开发操作系统:Win7 x64,IE8

MeasureString和DrawString的区别

为什么我必须将MeasureString()结果宽度增加21% size.Width = size.Width * 1.21f; 逃避DrawString() Word Wrap? 我需要一个解决方案来获得确切的结果。 相同的字体,相同的字符串格式,两个函数中使用的文本相同。 从OP回答: SizeF size = graphics.MeasureString(element.Currency, Currencyfont, new PointF(0, 0), strFormatLeft); size.Width = size.Width * 1.21f; int freespace = rect.Width – (int)size.Width; if (freespace 0) ImageSize = freespace; else ImageSize = 0; } int FlagY = y + (CurrencySize – ImageSize) / 2; int FlagX […]

在c#中列出

我无法理解List背后的逻辑,因为它打破了一些基本规则。 List应该是值类型而不是引用类型。 如果必须在函数调用之间保持其值,则必须通过ref关键字传递List 。 所以这意味着它正在显示类似于int的值类型行为。 但是List必须由new运算符初始化。 List也可以为null。 这意味着引用类型行为。 可空类型是不同的,因为它不必由新运算符初始化。 我在这看错了吗? EDITED- 我应该在原始问题中发布代码。 但它遵循 – namespace ConsoleApplication1 { class Program { static void Main(string[] args) { ListTest d = new ListTest(); d.Test(); } } class ListTest { public void ModifyIt(List l) { l = returnList(); } public void Test() { List listIsARefType = new List(); ModifyIt(listIsARefType); […]

使用ref节省内存传递引用类型吗?

在C#中,方法的参数可以是引用类型或值类型。 传递引用类型时,将传递引用的副本。 这样,如果在方法内部我们尝试将传递的引用重新分配给另一个对象实例,则在该方法之外,重新分配是不可见的。 为了使其工作,C#具有ref修饰符。 使用ref传递引用类型实际上使用原始引用而不是副本。 (如我错了请纠正我)。 在这种情况下,由于我们没有创建引用的副本,我们是否保存了任何内存? 如果广泛调用方法,这是否会提高应用程序的整体性能? 谢谢!

运算符’&&’不能应用于’bool’和’int’类型的操作数

我有一个if elseif语句来检查标记并根据条件对标记进行评分。 int marks; string grade; if (marks>=80 && marks!>100) { grade = “A1”; } else if (marks>=70 && marks!>79) { grade = “A2”; } 等等….. 但是,当我编译它时,我得到了 运算符’&&’不能应用于’bool’和’int’类型的操作数 帮我修好它。谢谢你提前。

是否可以将数组绑定到DataGridView控件?

我有一个数组arrStudents,其中包含我的学生的年龄,GPA和姓名,如下所示: arrStudents[0].Age = “8” arrStudents[0].GPA = “3.5” arrStudents[0].Name = “Bob” 我试图将arrStudents绑定到DataGridView,如下所示: dataGridView1.DataSource = arrStudents; 但是数组的内容不会出现在控件中。 我错过了什么吗?

如何在C#中将UIntPtr对象转换为IntPtr?

我需要在我的C#.NET 2.0应用程序中将UIntPtr对象转换为IntPtr对象。 如何实现这一目标? 我不认为它就像这样简单: UIntPtr _myUIntPtr = /* Some initializer value. */ object _myObject = (object)_myUIntPtr; IntPtr _myIntPtr = (IntPtr)_myObject;

c#正则表达式匹配字符串中的特定索引?

我想测试一个正则表达式是否匹配特定索引处的字符串的一部分(并且仅从该特定索引开始)。 例如,给定字符串“one two 3 4 five”,我想知道,在索引8处,正则表达式[0-9] +将匹配“3”。 RegularExpression.IsMatch和Match都采用起始索引,但是如果需要,它们都将搜索字符串的其余部分以进行匹配。 string text=”one two 3 4 five”; Regex num=new Regex(“[0-9]+”); //unfortunately num.IsMatch(text,0) also finds a match and returns true Console.WriteLine(“{0} {1}”,num.IsMatch(text, 8),num.IsMatch(text,0)); 显然,我可以检查结果匹配是否从我感兴趣的索引开始,但是我将在大字符串上执行此操作很多次,所以我不想浪费时间在字符串中搜索匹配项。 另外,我不会事先知道我将实际测试字符串的正则表达式。 我不想: 将字符串分割成某些边界,就像空格一样,因为在我的情况下,我事先并不知道合适的边界是什么 必须以任何方式修改输入字符串(比如在索引8处获取子字符串然后在正则表达式中使用^) 搜索字符串的其余部分以进行匹配,或者针对大字符串执行大量测试所不具备的其他任何内容。 我想使用任意用户提供的语法解析潜在的大型用户提供的文本正文。 语法将以BNF或类似PEG的语法定义,终端将是字符串文字或正则表达式。 因此,我需要检查字符串的下一部分是否与语法驱动的任何潜在终端匹配。