Tag: .net

如何按名称对文件列表进行排序以匹配Windows资源管理器的显示方式?

假设我按名称在资源管理器中对文件列表进行了排序,如下所示: 2009-06-02-4.0.9.txt 2009-06-02-4.0.10.txt 2009-06-02-4.0.11.txt 2009-06-02-4.0.12.txt 我有一个FileInfo Comparer,它按名称对FileInfo对象数组进行排序: class FileInfoComparer : IComparer { public int Compare(FileInfo x, FileInfo y) { return string.Compare(x.FullName, y.FullName, StringComparison.OrdinalIgnoreCase); } } 使用此Comparer从上面对相同的文件列表进行排序产生: 2009-06-02-4.0.10.txt 2009-06-02-4.0.11.txt 2009-06-02-4.0.12.txt 2009-06-02-4.0.9.txt 这是有问题的,因为订单非常重要。 我想有一种模仿Windows在C#代码中做什么的方法,但我还没有找到办法。 任何帮助表示赞赏! 谢谢!

如何在运行时更改WinForms应用程序的文化

我用C#创建了Windows Form程序。 本地化有一些问题。 我有2种语言的资源文件(一种用于英语,另一种用于法语)。 我想单击每个语言按钮并在运行时更改语言。 但是,当我点击按钮时,它不起作用。 我正在使用此代码。 private void btnfrench_Click(object sender, EventArgs e) { getlanguage(“fr-FR”); } private void getlanguage(string lan) { foreach (Control c in this.Controls) { ComponentResourceManager cmp = new ComponentResourceManager(typeof(BanksForm)); cmp.ApplyResources(c, c.Name, new CultureInfo(lan)); } } 请问有什么帮助…… 非常感谢….

跨程序集边界返回/使用动态匿名类型

下面的代码效果很好。 如果Get和Use方法位于不同的程序集中,则代码将失败并显示RuntimeBinderException。 这是因为.Net运行时系统仅保证程序集内的匿名类型(在本例中为 )的通用性。 有没有办法愚弄运行时系统来克服这个问题? 我可以在Use侧检查调试器中的对象,调试器可以看到相关的属性。 class Program { static void Main(string[] args) { UsePerson(); Console.ReadLine(); } public static void UsePerson() { var person = GetPerson(); Console.WriteLine(person.Name); } public static dynamic GetPerson() { return new { Name = “Foo”, Age = 30 }; } }

DataGrid列宽不会自动更新

当Change的值更新时,其列不会更新以适合新值。 因此列保持太小并且值被剪裁。 有任何想法吗?

何时使用try / catch块?

我已完成阅读并了解Try / Catch块的作用以及使用它的重要性。 但我坚持知道何时/何地使用它们。 任何建议? 我将在下面发布我的代码示例,希望有人有时间为我的示例提出一些建议。 public AMPFileEntity(string filename) { transferFileList tfl = new transferFileList(); _AMPFlag = tfl.isAMPFile(filename); _requiresPGP = tfl.pgpRequired(filename); _filename = filename.ToUpper(); _fullSourcePathAndFilename = ConfigurationSettings.AppSettings.Get(“sourcePath”) + _filename; _fullDestinationPathAndFilename = ConfigurationSettings.AppSettings.Get(“FTPStagePath”) + _filename; _hasBeenPGPdPathAndFilename = ConfigurationSettings.AppSettings.Get(“originalsWhichHaveBeenPGPdPath”); } public int processFile() { StringBuilder sb = new StringBuilder(); sb.AppendLine(” “); sb.AppendLine(” ——————————–“); sb.AppendLine(” Filename: ” + […]

绘制后如何将圆圈视为控件? – 移动和选择形状

实际上,点击每个圆圈之后我想要改变它的颜色,例如,我希望它变成红色,总的来说,我想把它当作对照。 我知道如何在双击图片框时绘制代表图表节点的圆圈。 我正在使用以下代码: public Form1() { InitializeComponent(); pictureBox1.Paint += new PaintEventHandler(pic_Paint); } public Point positionCursor { get; set; } private List points = new List(); public int circleNumber { get; set; } private void pictureBox1_DoubleClick(object sender, EventArgs e) { positionCursor = this.PointToClient(new Point(Cursor.Position.X – 25, Cursor.Position.Y – 25)); points.Add(positionCursor); Label lbl = new Label(); lbl.BackColor […]

以编程方式加密.​​NET中的配置文件

有人可以概述如何以编程方式加密.​​NET中的配置文件,最好是在C#中。 我想做的是对应用程序的启动进行某种检查以查看某个部分是否未受保护,如果是,则对其进行加密。 这适用于设置和连接字符串。 此外,如果任何人都可以列出加密提供商的类型,他们之间有什么区别。 我不知道在普通的WinForms应用程序中执行此操作的代码是否对在ASP.NET中执行此操作是透明的。

最小化C#中所有打开的窗口

我在论坛上看到了这个C ++代码,它最小化了所有打开的窗口 #define MIN_ALL 419 #define MIN_ALL_UNDO 416 int main(int argc, char* argv[]) { HWND lHwnd = FindWindow(“Shell_TrayWnd”,NULL); SendMessage(lHwnd,WM_COMMAND,MIN_ALL,0); Sleep(2000); SendMessage(lHwnd,WM_COMMAND,MIN_ALL_UNDO,0); return 0; } 如何在C#.net中访问FindWindow和SendMessage API函数以及HWND类型?

在新TAB中打开链接(WebBrowser控件)

有人知道如何在WinForms应用程序中单击WebBrowser控件中的链接,然后在我的TabControl中的新选项卡中打开该链接吗? 我已经搜索了几个月,看过很多教程/文章/代码示例,但似乎没有人曾经在C#中尝试过这个。 任何建议/样品都非常感谢。 谢谢。

Graphics.DrawString vs TextRenderer.DrawText?哪个可以提供更好的质量

TextRenderer基于GDI和Graphics.DrawString基于GDI +。这些函数中的哪些function可以在图像上绘制文本时提供更高质量的文本。