DataGridView的最右列如何填充表单的剩余部分?

我有一个5列的DataGridView ,其中dock = filled 。 当表单最大化时,我希望最后(最右边)列的宽度填充表单的剩余右侧。 我怎样才能做到这一点?

C#将类暴露给COM – 通用集合

我们有一个用C#.Net 2.0编写的小框架,我们想要向COM公开。 问题是,我们有一些通用类,将公开如下: interface IOurClass { ReadonlyCollection OurCollection { get; } } interface IOurListObject { //Some properties that don’t matter } 将通用集合暴露给COM的最佳(或推荐方法)是什么? 我们不必支持generics,我们只需要以某种方式公开IOurListObject的集合。 我们也希望避免为我们使用的每个集合编写新类,但可能无法实现。

RichTextBox中RTF文件中的超链接断开

我正在使用RichTextBox来显示RTF文件,其中包含一个超链接。 链接文本不是URL(目标是有效的URL)。 RTF是用Word创建的。 Word和写字板都能正确识别链接(写字板不会启动链接,但会显示相应的手形光标)。 当我将RTF加载到RichTextBox ,链接显示格式正确(蓝色和下划线),但不是表现得像链接,当光标在链接上移动时它仍然是工字梁, LinkClicked事件将不会触发,它实际上在链接后显示尖括号之间的目标(这似乎不正确)。 由于链接文本不是URL,因此DetectUrls在此处没有帮助。 有没有理由说RichTextBox没有正确处理这些链接,或者是一种让它们按预期工作的方法? 这是代码。 TipView.Rtf = tips[tipIndex]; // I’ve also tried TipView.LoadFile, with identical result 要重现此问题,请使用Word(我正在使用2000)创建一个RTF文档,其中包含一个文本不是URL但是以有效URL为目标的链接,并以编程方式将.rtf文件加载到RichTextBox (我使用的是.NET) 2.0 in C#Express 2008)。

访问方法’System.Web.Http.HttpConfiguration.DefaultFormatters()’失败

我的unit testing我的WEB API控制器有问题,我正在使用moq模拟我的存储库,进行设置和响应。 然后使用模拟存储库启动控制器。 问题是当我尝试从控制器执行调用时,我得到一个exception: 尝试通过方法’System.Web.Http.HttpConfiguration..ctor(System.Web.Http.HttpRouteCollection)’访问方法’System.Web.Http.HttpConfiguration.DefaultFormatters()’失败。 在System.Web.Http.HttpConfiguration..ctor(HttpRouteCollection路由)处于EyeShield.Api.Tests.PersonsControllerTests.Get_Persons_ReturnsAllPersons()的System.Web.Http.HttpConfiguration..ctor()处 说实话,不知道这里可能出现什么问题。 有谁知道这里可能存在什么问题? 控制器: using System; using System.Net; using System.Net.Http; using EyeShield.Api.DtoMappers; using EyeShield.Api.Models; using EyeShield.Service; using System.Web.Http; namespace EyeShield.Api.Controllers { public class PersonsController : ApiController { private readonly IPersonService _personService; public PersonsController(IPersonService personService) { _personService = personService; } public HttpResponseMessage Get() { try { var persons = PersonMapper.ToDto(_personService.GetPersons()); […]

将DateTime.Now转换为不同的时区

这段代码已经工作了很长时间,但是当我尝试将DateTime.Now作为outageEndDate参数传递时,现在已经破了: public Outage(DateTime outageStartDate, DateTime outageEndDate, Dictionary weeklyHours, string province, string localProvince) { this.outageStartDate = outageStartDate; this.outageEndDate = outageEndDate; this.weeklyHours = weeklyHours; this.province = province; localTime = TimeZoneInfo.FindSystemTimeZoneById(timeZones[localProvince]); if (outageStartDate < outageEndDate) { TimeZoneInfo remoteTime = TimeZoneInfo.FindSystemTimeZoneById(timeZones[province]); outageStartDate = TimeZoneInfo.ConvertTime(outageStartDate, localTime, remoteTime); outageEndDate = TimeZoneInfo.ConvertTime(outageEndDate, localTime, remoteTime); 我在最后一行得到的错误消息是在DateTime参数(outageEndDate)上没有正确设置Kind属性。 我用谷歌搜索并检查了SO的例子,但我真的不明白错误信息。 任何建议表示赞赏。 问候。 编辑 – 确切的错误消息是: The […]

Cross AppDomain最低通信性能损失是多少?

我正在尝试最小化在同一台计算机上跨AppDomain进行通信的性能损失。 在我的玩具示例中,A类在AppDomain 1中加载。它创建一个AppDomain 2并在那里加载一个Class 2实例(Class 2inheritance自MarshalByRef)获取代理。 然后,Class 1重复调用代理上不返回任何值的方法。 我得到以下结果: 没有AppDomains,这两个类都加载在同一个AppDomain中,第一个调用是第二个方法(该方法没有参数): 2400万个方法调用/秒 如上所述的两个AppDomain,方法没有参数或“出血”字符串参数: 340.000方法调用/秒 如上所述的两个AppDomain,一个可序列化参数(两个字符串的数组): 64.000个方法调用/秒 虽然我理解2和3之间的性能损失(序列化),但我真的不明白为什么从案例1到案例2的速度要慢100倍 。 据我所知,一旦创建了代理,所有后续的方法调用必须非常快,因为没有数据从一个AppDomain编组到另一个AppDomain。 现在有人为什么要通过AppDomains进行通信这么慢? 难道我做错了什么? PS1。 我对此的唯一提示是:“跨越AppDomain边界的成本令人尴尬。” 我猜他指的是序列化…… PS2。 我不计算AppDomain或代理创建时间(我的基准测试从第一个方法调用开始) PS3。 我在WinXP SP3机器上使用.NET 3.5。 我也试过.NET 4.0 Beta 1没有显着差异。

接口 – 在C#中实现匿名类?

在C#中是否有一个构造允许您创建一个实现接口的匿名类,就像在Java中一样?

ListBox选择所有项目

单击CheckBox时,我需要选择ListBox中的所有项目。 是否可以使用一行代码选择ListBox中的所有项目? 或者我是否必须遍历所有项目并将其中的每一项设置为true? 谢谢 :)

使用其他用户凭据从远程路径获取FileStream文件

在我的应用程序中,我使用FileStream从文件中读取,该文件位于网络中的某个文件共享位置。 所以我的remoteFilePath变量类似于: \\computername\folder\file.pdf FileStream fileStream = new FileStream(remoteFilePath, FileMode.Open, FileAccess.Read, FileShare.None, 1024 * 1024) 不幸的是,我正在运行此应用程序的用户(我已登录到PC)无法访问此文件共享。 我有另一个用户(域,登录名和密码),可以访问这些文件。 是否可以使用其他用户凭据将文件转换为文件流? 我可以冒充用户只获取文件,然后继续使用我自己的用户吗?

如何使这个LINQ搜索方法处理两个以上的术语?

以下搜索方法适用于最多两个术语。 如何使其动态化以便能够处理任意数量的搜索条件? using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace TestContains82343 { class Program { static void Main(string[] args) { List tasks = new List(); tasks.Add(“Add contract to Customer.”); tasks.Add(“New contract for customer.”); tasks.Add(“Create new contract.”); tasks.Add(“Go through the old contracts.”); tasks.Add(“Attach files to customers.”); var filteredTasks = SearchListWithSearchPhrase(tasks, “contract customer”); filteredTasks.ForEach(t => Console.WriteLine(t)); […]