小编Ipq*_*arx的帖子

右键单击以选择ListBox中的项目

我正在尝试制作一个项目列表,您可以通过右键单击并启用上下文菜单来执行多项操作.我已经完成了,没有任何问题.

但我想拥有它,以便当您右键单击某个项目而不是选择当前项目时,选择鼠标所在的项目.

我已经研究了这个和其他相关的问题,并且我尝试使用indexFromPoint(我通过我的研究发现),但每当我右键单击某个项目时,它总是只清除所选项目并且不显示上下文菜单,因为我设置它,以便它没有出现,如果没有选定的项目.

这是我目前使用的代码:

ListBox.SelectedIndex = ListBox.IndexFromPoint(Cursor.Position.X, Cursor.Position.Y);
Run Code Online (Sandbox Code Playgroud)

c# select listbox right-click winforms

22
推荐指数
2
解决办法
3万
查看次数

通过基类创建派生类的实例,无需硬编码

我的问题如下:

我有一个需要抽象的基类.它有几个派生类,每个派生类都有自己的特殊属性,这些属性包含在Properties成员中.

我需要能够创建这些派生类之一的新实例,以便所有成员都是等效的,但修改新实例不会修改原始实例.

最后,我想这样做而不必在基类的每个派生类型中进行硬编码.(诚​​然,这将是最简单的解决方案,但这不是重点)

所有派生类都满足与基类的"is-a"关系.

这是代码:

public abstract class BaseClass
{
    //Default properties here
    int x, y, z, ...;

    //Custom made class to hold custom properties
    protected Attributes Properties;

    public BaseClass createNewInstance()
    {
        return createNewInstanceStep1();
    }

    //Each derived class implements their own version of this,
    //to handle copying any custom members contained in Properties.
    protected abstract BaseClass createNewInstanceStep2();

    protected BaseClass createNewInstanceStep1()
    {
        BaseClass newInstance = new BaseClass(); // <- Doesn't work because class is abstract

        //Copy default properties
        newInstance.x = …
Run Code Online (Sandbox Code Playgroud)

c# inheritance constructor abstract-class

9
推荐指数
1
解决办法
1万
查看次数

创建一个ZIP文件而没有条目碰到磁盘?

我正在尝试创建一个程序,该程序具有根据用户输入创建包含文件的压缩包的功能。

在压缩文件之前,不需要将这些文件中的任何一个写入硬盘驱动器,因为那是不必要的,那么如何在不将其实际写入硬盘驱动器的情况下创建这些文件,然后将其压缩?

我正在使用DotNetZip。

c# zip

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

如何在孩子的窗户上施力,直到它关闭

如何使子表单强制关注,以便在父表单关闭之前不能对父表单执行任何操作?

最喜欢这样:http://youtu.be/WJWnYBOwQzU

c# winforms

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

使用字符串的数字非常大的数学

我正在尝试使用字符串来使用字符串进行非常大的数字运算,并且没有外部库.

我尝试在线查看没有成功,我需要加法,减法,乘法和除法的函数(如果可能的话,并限制在指定的小数位数.)

例如:添加9,900,000,000和100,000,020应为10,000,000,020.

编辑:对不起,我不够具体,但我只能使用字符串.没有长,大,有什么.只是基本的字符串,如果是nessecary,int32.

这不是一个功课问题!

c# string math numbers

0
推荐指数
1
解决办法
1832
查看次数