小编Dav*_* A.的帖子

是否有我可以在我的WPF应用程序中使用的属性对话框控件?

我正在使用WPF构建一个应用程序,它将成为各种设计者,这意味着,用户可以将自定义UI元素拖放到画布中,并能够通过属性配置其行为.

(将此视为特定于域的PowerPoint.您可以向演示文稿添加元素,配置元素的属性,然后最终可以运行"幻灯片放映",这些元素将根据其属性运行)

所以在我的应用程序中,显示和配置元素属性的最佳方法是什么?我可以使用属性对话框控件吗?(类似于Visual Studio中的控件)

.net wpf propertygrid controls properties

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

在父子关系中使用泛型

我有一个像这样声明的抽象类BaseItem:

public abstract class BaseItem
{
    public BaseItem Parent { get; protected set; }
    public List<BaseItem> Children = new List<BaseItem>();

    public abstract string Function1();        
}
Run Code Online (Sandbox Code Playgroud)

基本上,我正在尝试实现一个设计,其中每个Item都有一个特定类型的父级和不同类型的子级.

例如,ItemA将拥有所有ItemB类型的子项.然后ItemB将具有ItemA类型的父级和子级所有ItemC类型.ItemC将具有ItemB的父级和ItemD类型的子级.

我认为使用泛型来做这件事会更加简洁,以避免不必要的演员表,因为我知道我的每个继承类的父和子将是什么类型.所以我提出了这样的事情:

public abstract class AbstractBase
{
    public abstract string Function1();
}

public abstract class BaseItem<T1, T2> : AbstractBase
    where T1 : AbstractBase
    where T2 : AbstractBase
{
    public T1 Parent { get; protected set; }
    public List<T2> Children = new List<T2>();
}

public class ItemA : BaseItem<ItemA, ItemB>
{
}
public class ItemB …
Run Code Online (Sandbox Code Playgroud)

c# generics

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

了解CComBSTR赋值运算符

说我有以下内容:

BSTR myBSTR = SysAllocString( L"MYBSTR" );
CComBSTR myCComBSTR = myBSTR;
Run Code Online (Sandbox Code Playgroud)

当它超出范围时,是否myCComBSTR取得所有权myBSTR并将其释放?或者,myBSTR如果我不自由,它会复制并产生内存泄漏myBSTR吗?

如果这会产生内存泄漏,那么处理此问题的最有效方法是什么?(myBSTR将作为a传递给函数BSTR,我想将其作为CComBSTR内部存储)

c++ string

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

使用HelpProvider类来显示帮助,UI总是在帮助窗口后面

我有一个使用HelpProvider类的C#Winforms应用程序.每当我按F1以显示帮助时,帮助窗口将始终位于我的应用程序之上,我无法将应用程序UI置于前台.我仍然可以与我的用户界面进行互动,但帮助窗口仍会保留在最顶层.

这是由HelpProvider设计的吗?或者我错过了什么?

.net c# winforms

7
推荐指数
2
解决办法
5882
查看次数

标签 统计

.net ×2

c# ×2

c++ ×1

controls ×1

generics ×1

properties ×1

propertygrid ×1

string ×1

winforms ×1

wpf ×1