可能重复: 如何获得只使用c#的目录中的文件名? 使用C#,我想获取文件夹中的文件列表。 我的目标: ["file1.txt", "file2.txt"] 所以我写了这个: string[] files = Directory.GetFiles(dir); 不幸的是,我得到这个输出: ["C:\\dir\\file1.txt", "C:\\dir\\file2.txt"] 之后我可以去掉不需要的“C:\ dir”部分,但是有没有更优雅的解决scheme?
我只想要更新一个ListViewItem的文本,而不会看到任何闪烁。 这是我更新的代码(多次调用): listView.BeginUpdate(); listViewItem.SubItems[0].Text = state.ToString(); // update the state listViewItem.SubItems[1].Text = progress.ToString(); // update the progress listView.EndUpdate(); 我见过一些涉及覆盖组件的WndProc():解决schemeWndProc(): protected override void WndProc(ref Message m) { if (m.Msg == (int)WM.WM_ERASEBKGND) { m.Msg = (int)IntPtr.Zero; } base.WndProc(ref m); } 他们说它解决了这个问题,但在我的情况下,它没有 。 我相信这是因为我在每个项目上都使用了图标。
以下代码不会退出该应用程序。 我怎样才能退出应用程序,并确保所有正在运行的线程都closures? foreach (Form form in Application.OpenForms) { form.Close(); } Application.Exit();
我最近在一篇关于 1996年写的游戏编程的文章中读到,使用全局variables比传递参数要快。 这是否真的如此,如果是这样,今天这仍然是真的吗?
好的,我已经完成了这方面的好消息。 我有一系列的unit testing,调用一个静态类,一旦初始化,设置属性不能(或我不希望)改变。 我的问题是我无法执行testing运行的设置顺序。 如果可以的话,我可以运行它们,静态属性将以可靠的方式设置,我可以断言它们,但不幸的是Microsoft.VisualStudio.TestTools.UnitTesting框架只是以一种看似随机的顺序运行它们。 所以,我发现这个http://msdn.microsoft.com/en-us/library/microsoft.visualstudio.testtools.unittesting.priorityattribute.aspx在备注部分说:“该属性不被testing系统使用。提供给用户用于定制目的。“ 咦? 那有什么好处呢? 他们是否期望我写自己的testing封装来利用这个神话般的属性(如果我想要达到这个水平的努力,我可以轻松写出自己的属性…) 所以,足够的咆哮; 底线,有没有一种方法来控制我的unit testing运行的顺序? [TestMethod] [Priority(0)] 等似乎不工作,这是有道理的,因为微软说它不会。 另外,请不要评论“违反隔离”。 TestClass隔离我正在testing的内容,而不是单独的TestMethods。 无论如何,每个testing都可以独立运行,它们不能随机排列,因为没有办法拆除静态类。 哦,我也知道“有序testing”。
我有一个桌面客户端应用程序使用模态窗口来设置分层对象的属性。 由于这是一个客户端应用程序,并且对DbContext的访问不是线程化的,因此我在主窗体上使用长时间运行的上下文,将其传递给模态子项。 这些模式窗口使用PropertyGrid显示实体属性,也有取消button。 如果修改了任何数据并按下了取消button,则更改将反映在父窗体中(我无法处理DbContext object )。 如果没有调用DbContext.SaveChanges()方法,是否有办法放弃所做的任何更改? 更新:entity framework版本4.4。
给定系统或用户的任何色调的源颜色,我想要一个简单的algorithm,我可以使用它来找出所选颜色的较亮或较暗的变体。 类似于Windows Live Messenger上使用的用于界面风格的效果。 语言是C#与.net 3.5。 回应评论:彩色格式是(Alpha)RGB。 用值作为字节或浮点数。 标记答案:对于我使用的上下文(几个简单的UI效果),我被标记为接受的答案实际上是最简单的这个上下文。 不过,我已经放弃了对更复杂和准确的答案投票。 任何人做更高级的颜色操作,并在未来find这个线程,一定要检查出来。 感谢所以。 🙂
我正在尝试编写一个将数字转换为罗马数字的函数。 这是我的代码到目前为止; 但是,它只适用于小于400的数字。有没有一个简单快捷的方法来执行此转换,或扩展我现有的代码,以便处理所有情况? 在此先感谢您的帮助。 static string convertroman(int number) { int l = number / 10; StringBuilder sb = new StringBuilder(); for (int m = 0; m <= l; m++) { if (l == 0) { break; } if (l == 5) { sb = sb.Append(ro.L.ToString()); break; } if (l == 4) { sb = sb.Append(ro.X.ToString()).Append(ro.L.ToString()); […]
我把一个相当简单的Mono for Android应用程序放在一起,只是在后台服务中播放“AndroidResource”MP3(从Greg Shackles最新的Visual Studio杂志文章 “MfA中的后台服务”复制而来)。 我把代码放在一起,用我自己的自定义MP3文件,并试图build立它,只是为了得到这个可爱的错误。 "aapt.exe" exited with code 1 这是错误列表和生成输出日志中唯一的信息。
我在我的控制器中有这个function。 [HttpPost] public ActionResult Edit(EmployeesViewModel viewModel) { Employee employee = GetEmployee(viewModel.EmployeeId); TryUpdateModel(employee); if (ModelState.IsValid) { SaveEmployee(employee); TempData["message"] = "Employee has been saved."; return RedirectToAction("Details", new { id = employee.EmployeeID }); } return View(viewModel); // validation error, so redisplay same view } 它保持失败, ModelState.IsValid保持返回false并重新显示视图。 但是我不知道错误是什么。 有没有办法得到错误,并重新显示给用户?