如何遍历treeView控件的所有节点。 C#

我正在选择form所有控件 如果控件是Treeviews ,我将迭代他们拥有的所有节点 我需要类似的东西:(这是我的代码) foreach (Control c in PanelSM.Controls) { if (c is TreeView) { TreeNodeCollection myNodes = c.Nodes;//<<<<< Here is a mistake foreach (TreeNode n in myNodes) { String text = rm.GetString(n.Name); //And more things //… //… //… } } //… } 任何的想法? 谢谢

递归遍历目录树并列出文件名

我正在尝试遍历整个目录树并打印出列表框控件上的所有文件名。 我写了一些代码,但有错误。 不知道我做错了什么。 顺便说一句,这是在Visual Studio中使用WPF的C#中。 以下是Visual Studio中的整个项目解决方案: http : //tinyurl.com/a2r5jv9 如果您不想下载项目解决方案,请参阅MainWindow.xaml.cs中的代码: http : //pastebin.com/cWRTeq3N 我也会在这里粘贴代码。 public partial class MainWindow : Window { private void Button_Click_1(object sender, RoutedEventArgs e) { string sourcePath = @”C:\temp\”; static void DirSearch(string sourcePath) { try { foreach (string d in Directory.GetDirectories(sourcePath)) { foreach (string f in Directory.GetFiles(d)) { listBox1.Items.Add(f); } DirSearch(d); […]

重置表单中的所有项目

我想知道,有没有办法可以将所有复选框,文本框,数字和其他控件重置为默认值,而无需单独为每个控件编写代码? 这是我尝试过的代码,但似乎不起作用: for (int i = 0; i < this.Controls.Count; i++) { this.Controls[i].ResetText(); } 编辑: 我通过手动设置控制值来修复它,抱歉所有麻烦>。<。

从Action 获取参数

如何将参数传递给Action ? 代码示例应该突出我想要实现的目标。 对不起,这有点长。 class Program { static void Main(string[] args) { Foo foo = new Foo(); foo.GetParams(x => x.Bar(7, “hello”)); } } class Foo { public void Bar(int val, string thing) { } } static class Ex { public static object[] GetParams(this T obj, Action action) { // Return new object[]{7, “hello”} } } […]

VS2012安装后System.Uri.ToString行为更改

在开发机器上安装VS2012 Premium后,unit testing失败,因此开发人员修复了该问题。 当更改被推送到TeamCity时,unit testing失败。 除了升级的解决方案文件与VS2012兼容之外,项目没有改变。 它仍然以.net框架4.0为目标 我已经将问题Uri.ToString为在调用Uri.ToString时转义unicode字符的问题。 以下代码复制了该行为。 Imports NUnit.Framework Public Class UriTest Public Sub UriToStringUrlDecodes() Dim uri = New Uri(“http://www.example.org/test?helloworld=foo%B6bar”) Assert.AreEqual(“http://www.example.org/test?helloworld=foo¶bar”, uri.ToString()) End Sub End Class 在未安装VS2012的计算机上在VS2010中运行此function成功,在VS2010上安装VS2012的计算机上运行此function失败。 两者都使用最新版本的NCrunch和NuGet的NUnit。 来自失败断言的消息是 Expected string length 46 but was 48. Strings differ at index 42. Expected: “http://www.example.org/test?helloworld=foo¶bar” But was: “http://www.example.org/test?helloworld=foo%B6bar” —————————————————–^ .NET 4和.NET 4.5的MSDN文档显示, ToString不应对此字符进行编码,这意味着旧行为应该是正确的。 A String […]

如何使用Linq与Castle ActiveRecord

我正在玩Castle ActiveRecord并注意到下载包含文件Castle.ActiveRecord.Linq.dll 。 我没有找到任何使用Linq和ActiveRecord的文档,只有一些 旧 博客文章 。 使用模式是什么? Castle.ActiveRecord.Linq是否Castle.ActiveRecord.Linq准备好投入生产?

ASP.NET MVC自定义视图路由

我们的解决方案层次结构如下: 控制器\目录\查看 例如:Controllers \ DataAnalysis \ DataRetrieve 现在我想映射路由,以便当用户只在URL中键入视图的名称时,它会自动将url映射到相应的控制器 IE:localhost:1234 \ DataAnalysis \ DataRetrieve 应映射到 查看\ DataAnalysis \ DataRetrieve \ Index.cshtml 同样,任何包含操作的url请求都应检索相应的视图 IE:localhost:1234 \ DataAnalysis \ DataRetrieve \ TestAction 应映射到 查看\ DataAnalysis \ DataRetrieve \ TestAction.cshtml 目前,我们正在使用默认路由 public static void RegisterRoutes(RouteCollection routes) { routes.IgnoreRoute(“{resource}.axd/{*pathInfo}”); routes.MapRoute( name: “Default”, url: “{controller}/{action}/{id}”, defaults: new { controller = “Login”, action […]

ASP.NET Web.api如何处理名称以GET开头的两个方法?

我正在查看Microsoft的以下教程。 根据本教程, 在第一个示例中,“products”匹配名为ProductsController的控制器。 该请求是一个GET请求,因此框架在ProductsController上查找名称以“Get …”开头的方法。 此外,URI不包含可选的{id}段,因此框架会查找没有参数的方法。 ProductsController :: GetAllProducts方法满足所有这些要求。 如果有两种方法,比如GetAllProducts()和GetSoldProducts(),会发生什么? 两者都没有参数。 您的第一个Web API教程

使用ELMAH配置自定义授权

如何在没有默认ASP.NET授权角色管理器的情况下将ELMAH配置为仅显示给某些人? 我(以及许多其他人,我认为)使用我自己的授权逻辑并从零开始构建我的项目,而不使用提供的模板。 我想记录错误,但似乎无法配置ELMAH(以某种方式覆盖function)使其与其他授权一起工作,甚至使其仅适用于特定的IP地址。 由于我可以访问web.config我尝试更改这些值,以便默认情况下不显示elmah。 当我想查看错误时将它们从true切换为false并查看错误,然后切换回来。 但似乎当我更改这些值时,所有日志都会被删除。 我能做什么?

在迭代时修改另一个线程的列表(C#)

我正在使用foreach循环遍历元素列表,如下所示: foreach (Type name in aList) { name.doSomething(); } 但是,在另一个线程中我称之为 aList.Remove(Element); 在运行时,这会导致InvalidOperationException:Collection已被修改; 枚举操作可能无法执行。 处理这个问题的最佳方法是什么(即使以性能为代价,我会更加简单)? 谢谢!