我已经制作了一些代码来搜索目录并在列表框中显示文件.
DirectoryInfo dinfo2 = new DirectoryInfo(@"C:\Users\Hunter\Downloads");
FileInfo[] Files2 = dinfo2.GetFiles("*.sto");
foreach (FileInfo file2 in Files2)
{
listBox1.Items.Add(file2.Name);
}
Run Code Online (Sandbox Code Playgroud)
我甚至试过这个:
string path = Environment.SpecialFolder.UserProfile + @"\Downloads";
DirectoryInfo dinfo2 = new DirectoryInfo(Environment.SpecialFolder.UserProfile + path);
FileInfo[] Files2 = dinfo2.GetFiles("*.sto");
foreach (FileInfo file2 in Files2)
{
listBox1.Items.Add(file2.Name);
}
Run Code Online (Sandbox Code Playgroud)
我收到了一个错误...
好吧,它说的Users\Hunter
好吧,当人们拿到我的软件时,这个名字并不是猎人......所以我怎么把它带到任何用户下载文件夹的位置?
我尝试将Visual C#2010 Express版安装到我的PC上,但每当我尝试运行它时,都会收到错误消息.
许可证数据无效.需要重新安装.
我已经尝试重新安装它,并且消息仍然存在.
操作系统是Vista Home Premium.我已经VC# 2008 Express
安装好了.
这与此处提出的问题略有关系但答案不适用于我的情况,因为我没有使用线程:
我已经将我的一个WinForm应用程序转换为WPF应用程序,除了将几个单词更改为WPF/C#4.0等效(MessageBoxButtons到MessageBoxButton,为什么一个字母的区别?)之外,没有什么需要做的.
无论如何,如果我通过调试器运行应用程序它运行正常,直到我用窗口右上角的"X"按钮关闭它.应用程序窗口关闭,但我注意到调试器仍显示停止图标,检查任务管理器确认它仍在运行.
我没有在后台运行任何其他线程所以我知道它不是在等待别的东西.
我刚刚开始使用WPF,但我认为当用户关闭应用程序时它应该......关闭?
谢谢您的帮助!
我想将"Visual Studio 2010"文件夹位置更改为我的Dropbox文件夹,因此每次进行更改时都会同步.我在互联网上搜索过,但还没有找到解决方案.
是否可以从Visual Studio 2010中更改"Visual Studio 2010"文件夹位置,特别是Visual C#Express 2010?
我正在使用Visual c#express 2010在c#中开发一个Windows窗体应用程序(.NET 4.0).我在释放分配给UserControls的内存时遇到了麻烦,我不再使用了.
我有一个FlowLayoutPanel,其中显示自定义UserControls.FlowLayoutPanel显示搜索结果等,因此必须重复更新显示的UserControl集合.
在创建和显示每个新的UserControl集之前,在我的FlowLayoutPanel的ControlCollection(Controls属性)中当前包含的所有控件上调用Dispose(),然后在同一ControlCollection上调用Clear().
这似乎不足以处理UserControls使用的资源,因为每个新的UserControls集都被创建并添加到我的ControlCollection中,我的UserControls似乎也没有被垃圾收集声明.应用程序的内存使用量在很短的时间内急剧上升,然后达到稳定状态,直到我显示另一个列表.我还用.NET Memory Profiler分析了我的应用程序,它报告了许多可能的内存泄漏(见下节).
我错了.问题是使用foreach构造迭代ControlCollection并在其控件上调用Dispose()导致的错误,Hans Passant在他的回答中描述了这个错误.
问题似乎是由我的UserControls中使用的ToolTip引起的.当我删除这些时,我的UserControls似乎被垃圾收集声明..NET内存分析器证实了这一点.我早期测试中的问题1和6(见下节)不再出现,并报告了一个新问题:
未释放的实例(释放资源和删除外部引用)7种类型的实例已被垃圾收集而未正确处理.请查看以下类型以获取更多信息.
ChoiceEditPanel(继承),NodeEditPanel(继承),Button,FlowLayoutPanel,Label,> Panel,TextBox
即使工具提示的参考已经消失,这不是一个长期的解决方案,但当我不再需要它时,仍然存在确定性地处理我的UserControls的问题.但是,并不像删除对工具提示的引用那么重要.
我使用一个名为NodesDisplayPanel的UserControl,它充当FlowLayoutPanel的包装器.这是我的NodesDisplayPanel类中的方法,用于清除FlowLayoutPanel中的所有控件:
public void Clear() {
foreach (Control control in flowPanel.Controls) {
if (control != NodeEditPanel.RootNodePanel) {
control.Dispose();
}
}
flowPanel.Controls.Clear();
// widthGuide is used to control the widths of the Controls below it,
// which have Dock set to Dockstyle.Top
widthGuide = new Panel();
widthGuide.Location = new Point(0, 0);
widthGuide.Margin = new Padding(0);
widthGuide.Name = "widthGuide"; …
Run Code Online (Sandbox Code Playgroud) c# .net-4.0 visual-studio-2010 winforms visual-c#-express-2010
我正在使用MS Visual C#2010 Express创建一个需要数据库的应用程序.
我了解到,使用此应用程序创建/使用SQL数据库似乎有两种方法.
第一个似乎是在C#中,我可以通过在解决方案资源管理器中右键单击我的应用程序并单击"添加" - >"新项" - >"本地数据库"来创建"本地数据库".然后它显示在数据库资源管理器中,我可以使用它.
另一种方法是我使用SQL Server Management Studio创建数据库,然后在C#代码中,我打开它的连接(SQLConnection ... yada yada yada)并使用它.
我很难理解选择一种方式或另一种方式之间的技术原因......
有人可以描述差异以及选择一种方式与另一种方式的标准吗?(或指向网站参考......)
谢谢!
-Adeena
附加信息......现在,这是一个业余爱好项目,因为我得到了一些成果.
我正在使用MagicLibrary
一些组件.我知道它是用Visual Studio 2003编写的,并在Visual C#Express 2010中重新编译.它编译得很好,我可以看到文件夹中的库.
然后,我在Visual C#Express 2010中创建了一个新项目,并将组件添加MagicalLocalLibrary.dll
到工具箱中.他们看起来很好,没有错误.我将工具箱中的控件放到我的表单中,看起来很好.然后我调试(看看是否会发生任何错误),我看到引用MagicalLibrary
消失了,我得到了错误:
The type or namespace name 'Crownwood' could not be found (are you missing a using directive or an assembly reference?)
Run Code Online (Sandbox Code Playgroud)
问题是,参考文献在解决方案资源管理器中的引用下显示正常,但是我无法using
在代码中导入它或在代码中使用它(简单地未在InstelliSense中列出)但是如果我进入对象浏览器并选择"我的解决方案" "它没有列出.我可以单击解决方案资源管理器中的参考,只需将复制本地属性更改为True或False,然后它将出现在对象浏览器中,但每当我再次调试我的项目时它就会消失.
知道为什么会这样吗?提前致谢.
我有一个问题,当我尝试建立我的C#快递2008年.我需要构建它的32位架构的解决方案,但它总是建立64位.在Visual Studio 2008中,我可以选择体系结构,但在C#Express中找不到此选项.
有没有办法在C#Express中执行此操作?
我使用此代码使表单没有边框样式:
this.FormBorderStyle = FormBorderStyle.None;
Run Code Online (Sandbox Code Playgroud)
我需要在表单上创建圆角.
有一个简单的方法吗?我该怎么做?
我想在组合框中对齐我的文本,以便它将显示在组合框的中心告诉我如何做到这一点你也可以看到组合框周围有一个默认边框,当它处于焦点时如何我也删除该边框请解决我的两个问题谢谢