小编zen*_*dar的帖子

读/写INI文件

.NET框架中是否有可以读/写标准.ini文件的类:

[Section]
<keyname>=<value>
...
Run Code Online (Sandbox Code Playgroud)

Delphi有TIniFile组件,我想知道C#是否有类似内容?

.net c# ini

248
推荐指数
8
解决办法
45万
查看次数

如何在WPF选项卡控件中创建梯形选项卡

如何在WPF选项卡控件中创建梯形选项卡?
我想在Google Chrome中创建看起来像标签的非长方形标签,或者在VS 2008的代码编辑器中创建标签.

它可以用WPF样式完成,还是必须用代码绘制?

互联网上是否有任何代码示例?

编辑:

有很多示例显示如何圆角或更改选项卡的颜色,但我找不到任何更改选项卡的几何图形,如以下两个示例:

VS 2008代码编辑器选项卡
VS 2008代码编辑器选项卡


Google Chrome标签页
替代文字

这两个示例中的标签不是矩形,而是梯形.

wpf xaml tabcontrol

78
推荐指数
5
解决办法
5万
查看次数

Dotfuscator社区版有多好?什么是"足够好的混淆器"?

我打算发布一个价格低廉的小型实用程序.由于这比业务更重要,我计划使用随VS2008一起提供的Dotfuscator Community Edition.

有多好?

我还可以使用"足够好的混淆器"的定义 - Dotfuscator Community Edition缺少哪些功能以使其足够好.

编辑:

我检查了商业混淆器数量的定价,它们花了很多钱.这值得么?

商业版本是否更好地防止逆向工程?

我并不十分害怕我的应用程序被破解(如果应用程序非常糟糕,没有人有兴趣破解它,那将会令人失望).它无论如何都没有受到严密保护,而不是在代码中的几个地方进行过于复杂的串行密钥和许可证检查.它只是让我感到困惑,没有混淆,有人可以轻松获取源代码,重新命名并将其作为自己出售.

这会发生很多吗?

编辑2:

有人可以推荐商业混淆器.我发现很多,它们都很贵,有些甚至没有列在网站上的价格.

功能明智,所有产品似乎或多或少相似.

混淆器应该具有的最小功能集是什么?

.net obfuscation piracy piracy-prevention dotfuscator

57
推荐指数
4
解决办法
4万
查看次数

WPF:Canvas事件不起作用

我在画布上设置了鼠标事件,如下所示

 MouseUp="CanvasUp" MouseDown="CanvasDown" MouseMove="CanvasMove"
Run Code Online (Sandbox Code Playgroud)

但是这些仅在像图像和矩形这样的子元素上有效,而在空白空间中不活动.请告诉我如何解决

谢谢

wpf canvas

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

是否有一个.NET集合接口阻止添加对象?

我有一个维护另一个类的对象列表的类.对象列表是公共属性.我想阻止用户直接添加和删除对象列表,如下所示:

      MyObject.MyListProperty.Add(object);
Run Code Online (Sandbox Code Playgroud)

相反,我希望他们使用将在内部进行一些处理然后将对象添加到列表的方法.

我有一些想法:

  • 创建后代List<T>并覆盖添加和删除
  • 通过属性getter返回列表的新副本(列表相对较短,不超过30个对象)

是否有一些没有添加和删除的集合界面?

编辑:
我要去ReadOnlyCollection<T>.原因是包裹集可更新和变化将是只读对象立即可见(参见MSDN代码示例ReadOnlyCollection<T>AsReadOnly()).这允许只读一次创建只读列表.

问题IEnumerable是对象可以被转换回原始对象List<T>然后直接操作.

.net c# collections list

24
推荐指数
3
解决办法
6185
查看次数

如何创建可重用的WPF网格布局

我有一个带有标签控件和页数的窗口 - 标签项.每个选项卡项具有相同的网格布局 - 6行和4列.现在,每个选项卡项都包含具有行和列定义的网格,因此几乎一半的XAML是网格的定义.

如何在一个位置定义此网格并在我的应用程序中重用该定义?模板?用户控制?

除了6x4,我还有两个重复的网格尺寸:8x4和6x6.

编辑:
忘记提及:每个选项卡的网格控件都不同.我只想在某些资源中定义一次网格,以便我可以在不同的标签页上重复使用它们.现在XAML看起来像这样:

    <TabControl>
        <TabItem Header="Property">
            <Grid>
                <Grid.RowDefinitions>
                    <RowDefinition />
                    <RowDefinition />
                    <RowDefinition />
                    <RowDefinition />
                    <RowDefinition />
                    <RowDefinition /> 
                </Grid.RowDefinitions>
                <Grid.ColumnDefinitions>
                    <ColumnDefinition />
                    <ColumnDefinition />
                    <ColumnDefinition />
                    <ColumnDefinition />
                </Grid.ColumnDefinitions>
                <!-- some controls here -->
            </Grid>
        </TabItem>
        <TabItem Header="Style">
            <Grid >
                <Grid.RowDefinitions>
                    <RowDefinition />
                    <RowDefinition />                        
                    <RowDefinition />
                    <RowDefinition />
                    <RowDefinition />
                    <RowDefinition />
                </Grid.RowDefinitions>
                <Grid.ColumnDefinitions>
                    <ColumnDefinition />
                    <ColumnDefinition />                        
                    <ColumnDefinition />
                    <ColumnDefinition />
                </Grid.ColumnDefinitions>
                <!-- some controls here -->
            </Grid>
        </TabItem>

       ... …
Run Code Online (Sandbox Code Playgroud)

wpf grid layout

21
推荐指数
2
解决办法
9921
查看次数

Windows Server 2008上的最大tcp/ip连接

我有.Net服务,通过TCP协议侦听单个端口.客户端连接然后传输数据一段时间(从几分钟到几个小时).

Windows 2008服务器上的连接数是否有限制?我没有打任何,因为现在有多达50个用户.计划是有成千上万的用户,所以我想知道将来是否会有问题.

编辑:
正如Cloud回答的那样,某些版本的Windows Server 2008似乎存在一些限制.是否有关于这些限制的参考?我尝试了谷歌,但它返回了关于半绑定tcp连接限制的文章.

.net windows tcp windows-server-2008

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

C#2.0,3.0和4.0中的新功能列表

我在.NET 1.1项目上工作了很长时间,我被困在C#1.0,​​现在我想赶上最新最好的.

Google在C#v2.0中返回了大量有关新功能的信息,但对于版本3和版本4,我只找到了部分信息.

互联网上是否存在某些列表,列出了在v2.0,v3.0和v4.0中引入的所有新功能?

c# c#-3.0 c#-2.0 c#-4.0

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

将C#连接到Oracle

将C#(.NET)应用程序连接到Oracle 10g和11g的最佳库/驱动程序是什么.
我找到的当前选项是:

  1. 数据库安装附带的Oracle客户端
  2. Oracle Instant Client(由于操作系统数量为6-8个版本,因此有点令人困惑)
  3. Microsoft ODBC?(这可以用吗?)
  4. ODP.Net - 是这个单独的产品还是包含在1.和2.?

有人可以解释一下差异吗?

我正在计划将在Oracle数据库上执行基本CRUD操作的C#应用​​程序.哪个库/驱动程序最小且最容易安装?

编辑:
一般建议是使用ODP.Net.现在,有人可以解释或指出回答客户端安装包之间的差异.我为Oracle 11g找到了3个不同的客户端:

那么,哪一个足够发展?Oracle文档非常详细,但没有说明这些客户端软件包之间的差异.我会选择最小的(即时客户端).这是最好的选择吗?

编辑2:
我正在使用.Net 3.5

c# oracle

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

基于TextBox值(WPF)启用按钮

这是MVVM应用程序.有一个窗口和相关的视图模型类.

还有TextBox,ButtonListBox对形式.按钮绑定到DelegateCommand具有CanExecute功能.想法是用户在文本框中输入一些数据,按下按钮并将数据附加到列表框中.

我想在用户输入正确的数据时启用命令(和按钮)TextBox.事情现在就像这样:

  • CanExecute() method包含用于检查绑定到文本框的属性中的数据是否正确的代码.
  • 文本框绑定到视图模型中的属性
  • UpdateSourceTrigger设置为,PropertyChanged并在每个关键用户按下后更新视图模型中的属性.

问题是CanExecute()用户在文本框中输入数据时不会触发.即使文本框失去焦点,它也不会触发.

我怎么能做这个工作?

编辑:
Re Yanko的评论:
Delegate命令在MVVM工具包模板中实现,当您创建新的MVVM项目时,解决方案中有Delegate命令.就像我在Prism视频中看到的那样,这应该是同一个类(或者至少非常相似).

这是XAML片段:

    ...
    <UserControl.Resources>
      <views:CommandReference x:Key="AddObjectCommandReference" 
                              Command="{Binding AddObjectCommand}" />
   </UserControl.Resources>

   ...
   <TextBox Text="{Binding ObjectName, UpdateSourceTrigger=PropertyChanged}"> </TextBox>
   <Button Command="{StaticResource AddObjectCommandReference}">Add</Button>
   ...
Run Code Online (Sandbox Code Playgroud)

查看型号:

   // Property bound to textbox
   public string ObjectName
    {
        get { return objectName; }
        set { 
            objectName = value;
            OnPropertyChanged("ObjectName");
        }
    }


    // Command bound to button
    public ICommand AddObjectCommand …
Run Code Online (Sandbox Code Playgroud)

wpf command mvvm

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