小编Stu*_*wig的帖子

如何发现USB存储设备和可写CD/DVD驱动器(C#)

如何在给定时间发现可用的任何USB存储设备和/或CD/DVD刻录机(使用C#.Net2.0).

我想向用户提供可以存储文件以便物理移除的设备选择 - 即不是硬盘驱动器.

c# .net-2.0

5
推荐指数
1
解决办法
5997
查看次数

如何回滚对绑定的DataGridView所做的更改?

我有一个DataGridView,其数据源设置为自定义对象的通用列表.当用户更改值(在这种情况下检查/取消选中复选框)时,对象中的基础布尔字段会发生变化.

我是否应该创建List的"副本"进行绑定,然后在用户提交时手动更新(如果是这样,如何创建此副本),或者是否有一种简单的方法来回滚对数据源所做的更改.

(我正在使用C#)

c# data-binding

5
推荐指数
1
解决办法
1572
查看次数

我可以提供一些版本编号建议吗?

我们的产品历史悠久(12年左右).

它的起源是VB3(版本1)和后来的VB6(版本2).(版本号是"狗早餐",版本控制是一场噩梦.

我已经在这里参与了几年.我们在.Net平台上开发了第3版,但版本2继续得到定期版本的支持 - 每年约3或4个版本.

我在开始时介绍了夜间自动构建版本,我们的产品版本号是2.2.2.每个人都计划只发布2.2.3,但自动构建过程和VB6的"有趣"3部分编号系统,意味着我们需要使用第三部分 - 构建/修订号 - 这应该是它应该的.

所以我们发布了版本2.3(内置版本为"无论什么")并开始使用2.4(每晚增加内部版本号),然后是2.5,然后是2.6等.

内部版本号远离公共视图,但可用于支持目的,即使我们很少发布多个版本的版本 - 我们偶尔需要修补.

确保一致性.现在我们达到2.9.我们即将进入2.10(两点九,最多两点十).不幸的是,非技术人员正在读这个像一个有理数的人(两点一).他们无法理解为什么我们不只是去3.0版 - 就像计数一样.(为了支持目的,内部版本号仅显示在"帮助/关于"屏幕上).

我不认为产品(主要数量)升级是有保证的,特别是由于市场预期的这种预期.

有没有正确的方法在这里继续?(2.10或3.0或更好的东西 - 或者甚至更重要?)

(注意:我已经花了一些时间来确保版本号现在显示为2.09,而不是2.9(在我们的网站上,产品启动画面和各种其他公共场所等),所以当我们移动到2.10时它可能更有意义,但这可能同样令人困惑,因为2.09实际上是一个比2.8更低的有理数......)

也可以看看:

决定版本号

如何做版本号?

你怎么知道使用什么版本号?

versioning

5
推荐指数
4
解决办法
1607
查看次数

WinForms应用程序确定运行哪个Windows操作系统的最佳方法是什么?

我有一个WinForms应用程序,需要根据运行它的操作系统以特定方式(特别是某个安装程序的shell)运行.

我正在使用System.OperatingSystem类,并结合使用PlatFormID,Major,Minor和Build数字,这些数字可以帮助您完成大部分工作.

不幸的是,OperatinSystem对象的特性,不允许您在某些平台之间进行精确区分.例如Vista和Windows Server 2008,或Vista 32位和Vista 64位.同样,XP 64位Professional似乎与Server 2003具有相同的版本信息.

那么是否有可能从WinForms应用程序(使用c#)确定您正在运行的Windows操作系统?

c# windows operating-system winforms

5
推荐指数
1
解决办法
1500
查看次数

是否可以在不使用ImageList的情况下将图像添加到树视图节点?

(使用WinForms和C#. - > .Net 2.0)

我正在基于表中的数据向TreeView添加节点.除了显示在节点上的标题外,该数据还包含位图.

我想使用表中的Bitmap作为TreeViewNode上的图标,而不是来自预先存在的ImageList的图标.(通常,您可以在图像列表中指定图像的键或索引来设置节点的图像.)

这是可能的还是我需要将我的数据中的Bitmap添加到ImageList(在运行时),然后使用该ImageList填充节点上的图像.

treeview winforms c#-2.0

4
推荐指数
1
解决办法
2550
查看次数

将它们放在WinForm上时,是否可以让用户控制显示这些对齐指南?

在Visual Studio(2008)中,当您在Windows窗体上放置文本框并将其拖动时,您会看到非常有用的指南,可帮助您将其(左,右,顶部或底部)与其他控件对齐.您还会看到一行代表该控件中文本的底部,帮助您将文本框中的文本与标签中的文本对齐,而不管该标签的高度如何.

我有用户控件,其中包含一个文本框和几个按钮.我是否可以强制VS2008设计器从用户控件中的文本框中向我显示文本底部的相同行?如果是这样,怎么样?

c# windows-forms-designer visual-studio winforms

4
推荐指数
1
解决办法
1605
查看次数

你应该调用base.methodName还是this.methodName

如果您在一个继承自基类的类中编写代码,并且想要在该基类上调用受保护或公共方法,那么调用base.MyProtectedMethod()this.MyProtectedMethod()(在c#中)是最好的(正确还是错误)?有什么区别?两者似乎都有效.

例如:

public class MyBase()
{
    ....

    protected void DoStuff()
    {
        // some stuff
    }

}

public class MyChildClass() : MyBase
{

    public MyNewMethod()
    {
        // do some work

        this.DoStuff();
        base.DoStuff();
    }
}
Run Code Online (Sandbox Code Playgroud)

这是两次相同的事情MyNewMethod吗?

c# syntax inheritance

4
推荐指数
1
解决办法
725
查看次数

无论表单是否具有焦点,我都可以确保我的控件能够捕获第一个事件吗?

我对C#比较陌生.我有一个带按钮的窗口.如果窗口没有聚焦,我第一次点击按钮,第一次点击会抓住窗口的焦点,所有后续点击将执行各自的操作.

有没有办法执行与按钮关联的事件而不是抓住焦点?

c# winforms

4
推荐指数
1
解决办法
1309
查看次数

Enumerable.FirstOrDefault方法是否可以处理null参数

可以编写此代码,以便在与具有null Parent的对象(x)进行比较时,将返回列表中具有null属性null的项吗?

MyObject obj = objList.FirstOrDefault(o => n.Parent.Equals(x.Parent));
Run Code Online (Sandbox Code Playgroud)

假设正确地重写了"Equals"方法,那么在"objList"中有一个带有null Parent的项目时会出现这种情况 - "对象引用未设置为对象的实例".例外.

我认为这是因为如果n.Parent为null,则不能调用其Equal方法.

无论如何,我目前使用这种方法:

MyObject obj = null;
foreach (MyObject existingObj in objList)
{
    bool match = false;

    if (x.Parent == null)
    {
        if (existingObj.Parent == null)
        {
            match = true;
        }
    }
    else
    {
        if (existingObj.Parent != null)
        {
            if (x.Parent.Equals(existingObj.Parent))
            {
                match = true;
            }
        }
    }

    if (match)
    {
        obj= existingObj;
        break;
    }
Run Code Online (Sandbox Code Playgroud)

因此,虽然它确实有效,但它并不是很优雅.

c# linq-to-entities

3
推荐指数
1
解决办法
443
查看次数

什么可能导致我的MonoDevelop项目中的"OutputPath属性未设置为项目ProjectName.csproj"错误

在Windows 7(64位)上,Android SDK与Eclipse完美配合 - 我的第一个Android应用程序,使用第一个"Hello World"示例(在此处找到 - http://docs.xamarin.com/android/getting_started/hello_world-来自Xamarin)失败并显示错误"未为项目NameProject.csproj设置的OutputPath属性".

我试过从Xamarin重新运行安装程序,但仍然会出现此错误.

有人可以建议可能导致此问题的原因吗?非常感谢.

确切的错误:

C:\Windows\Microsoft.NET\Framework\v4.0.30319\Microsoft.Common.targets(9,9): 
Error: The OutputPath property is not set for project 'helloWorld3.csproj'.  
Please check to make sure that you have specified a valid combination of 
Configuration and Platform for this project.  
Configuration='Debug'  
Platform='BPC'.  
This error may also appear if some other project is trying to follow a 
project-to-project reference to this project, this project has been 
unloaded or is not included in the solution, and the referencing project 
does …
Run Code Online (Sandbox Code Playgroud)

windows android xamarin.android xamarin

3
推荐指数
1
解决办法
2586
查看次数