小编Tho*_*mas的帖子

将多个属性组合到单个属性中

在控件上我使用多个属性属性:

[Browsable(false)]
[Bindable(false)]
[EditorBrowsable(EditorBrowsableState.Never)]
[DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
[Obsolete("", true)]
public new Boolean AllowDrop;
Run Code Online (Sandbox Code Playgroud)

我也在许多其他控件属性上使用这些属性.

我想知道是否有办法减少每次写入的代码量.

如果我可以组合这样的多个属性会很好:

[Hidden(true)]
public new Boolean AllowDrop;
Run Code Online (Sandbox Code Playgroud)

Hidden财产将包括上述所有属性.所以只有一行代码.

也许还有一种方法可以在宏或其他东西中组合属性?

我知道还有其他隐藏属性的方法,但我选择了使用属性的方式.

谢谢

.net c# windows-forms-designer visual-studio winforms

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

使用PostgreSql和ADO.NET在C#WinForms中进行记录和表锁定

我使用的是.NET Framework 4.6.1,WinForms,PostgreSQL 6.4beta4和Npgsql以及ADO.NET.

我当前的应用程序是一个多用户应用程序,其中所有用户都连接到同一个数据库.

使用DataTable,BindingSource和BindingNavigator将数据绑定到控件.

我想避免两个用户同时编辑DataRow.因为我想在更通用的方法上实现这一点,所以我在考虑创建一个DataTable后代并添加属性LockMode(None,Row,Table).

我发现您可以将ColumnChanged事件与RowState结合使用来检测数据的更改.

我现在知道用户是否正在插入新值,编辑(RowState =已修改)现有值或仅在记录中查找(RowState = Unchanged).

因此,我正在寻找一个用户开始编辑时锁定DataRow的解决方案.在应用程序中,我想在用户导航(通过使用Bindingnavigator或以编程方式)到锁定记录时显示消息.

我找到的大多数解决方案都像MySql Server一样:如何执行行锁定?TransactionScope锁定表和IsolationLevel.

但是我正在寻找一个PostgreSQL解决方案,所以即使是关于这个主题的文章来自MS(https://msdn.microsoft.com/en-us/library/system.transactions.transactionscope ( v=vs.110 ) .aspx)也不能在这里使用.

如果有PostgreSQL和ADO.NET经验的人能帮助我,我将不胜感激.谢谢.

c# postgresql ado.net winforms

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

更改拆分器突出显示/调整行大小

我注意到当我在Visual Studio中调整元素大小时,Splitter Line被涂成坚固的透明黑色,如下所示:

在此输入图像描述

但是在我自己的Winforms应用程序中,我得到了这个调整大小的行:

在此输入图像描述

我想知道如何改变这个调整大小线的绘画?

c# splitter winforms

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

在设计器中删除GenerateMember和Modifiers属性

我创建了一个Button后代,其中隐藏了所有不使用的属性。

我这样做是这样的:

[Browsable(false)]
[Bindable(false)]
[EditorBrowsable(EditorBrowsableState.Never)]
[DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
[Obsolete("", true)]
public new Boolean AllowDrop { get; set; }
Run Code Online (Sandbox Code Playgroud)

大多数属性被正确隐藏,无法使用。

但是,有两个属性我无法摆脱。

在此处输入图片说明

有没有办法在设计器中也删除GenerateMember和Modifiers?

c# propertygrid windows-forms-designer visual-studio winforms

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

将鼠标侧按钮绑定到VisualStudio操作

我尝试将XButton 1和2(鼠标的侧面按钮)重定向到特定的Visual Studio操作.

当我按下XButton1时,我想编译项目/构建它.F6默认情况下,此操作是绑定的.

当我按下XButton2时,我想在代码和设计视图(WinForms)之间切换.这是必然的F7.

在使用Visual Studio内置工具多次尝试后,我使用AutoHotKey创建了以下脚本:

XButton2:: 
IfWinActive Microsoft Visual Studio
{ 
  Send {F7}

  return 
}


XButton1:: 
IfWinActive Microsoft Visual Studio
{ 
  Send {F6}

  return 
} 
Run Code Online (Sandbox Code Playgroud)

但是,我想知道是否有人知道使用Visual Studio 2015实现相同的原生方式?

.net c# visual-studio winforms visual-studio-extensions

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