标签: devexpress-windows-ui

如何防止Visual Studio创建license.licx

我们在项目中使用第三方控件.几乎每当我双击具有设计视图的文件时,Visual Studio都会尝试用英雄的努力来提升设计师,并且在一些无响应之后,它会将license.licx文件提供(生成)到我们的解决方案中.这会不必要地干扰源代码控制:文件添加也会修改csproj,并且原始代码文件和designer.cs也会被检出(尽管它们没有任何修改).

  1. 我只想看代码(右键单击,查看代码),我不想看到设计师的视图.
  2. 每次我需要撤消不必要的更改并且需要花费时间(我们的解决方案非常繁琐),而Visual Studio再次没有响应,因为它会在csproj更改后重新加载整个shebang.
  3. 当我双击时,我立即意识到我做了什么,但那时已经太晚了,发条开始磨砺.

如果有人知道如何禁用添加该licx,请告诉我.仅供参考:相关的第三方库是DevExpress WinForms和IdeaBlade DevForce Classic(它与DevExpress有一些集成).我使用VS 2012.我们的产品是最终用户产品,而不是第三方库.

澄清:我们正在谈论一个开发环境.请参阅基于Licenses.licx的.Net组件许可模型如何工作? - 不建议将其保留在源代码管理中.我不想就此辩论.让我们关注如何防止Visual Studio一直尝试创建它.

visual-studio devforce devexpress-windows-ui

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

列宽的数据注释

我将一组对象绑定到DevExpress GridControl,并使用15.1数据注释来自定义外观.但是,我很难找到有关设置属性列大小的任何信息.这可以通过注释吗?

带注释的类:

public class DataFeedback
{
    [Display(Name = "Row Num", Order = 0)]
    public int RowNum { get; set; }
    [Display(Name = "Description", Order = 1)]
    public string Desc { get; set; }

    public DataFeedback(int rowNum, string desc)
    {
        RowNum = rowId;
        Desc = desc;
    }
}
Run Code Online (Sandbox Code Playgroud)

简单的绑定

var feedbackList = new List<DataFeedback>()
feedbackList.Add(new DataFeedback(1, "test"))
gridControl1.DataSource = feedbackList;

// only layout I've found so far
gridView1.BestFitColumns();
Run Code Online (Sandbox Code Playgroud)

c# winforms gridcontrol devexpress-windows-ui

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

是否有任何理由在此代码块中的List <T>中找不到现有项?

我们有一个绑定到List<T>项目的网格.只要用户点击"刷新",就会从数据库中获取更改,并更新绑定列表.我遇到了一个问题,即重复项目被添加到网格中,我无法弄清楚原因.

数据库调用返回两个值:List<int>已更改的记录ID,以及已更改记录List<MyClass>的更新数据.我正在调试的现有代码代码找出需要更新的内容,如下所示:

public void FindUpdates(IList<MyClass> existingRecords,
                    IList<MyClass> updatedRecords,
                    List<int> updatedIds,
                    out IDictionary<int, int> existing,
                    out IDictionary<int, int> updated,
                    out List<int> updates,
                    out List<int> removes,
                    out List<int> adds)
{
    updates = new List<int>();
    removes = new List<int>();
    adds = new List<int>();

    existing = FindUpdated(existingRecords, updatedIds);
    updated = FindUpdated(updatedRecords, updatedIds);

    if (updatedIds != null)
    {
        // split add/update and remove
        foreach (int id in updatedIds)
        {
            if (!existing.ContainsKey(id))
                adds.Add(id);
            else if (updated.ContainsKey(id))
                updates.Add(id);
            else
                removes.Add(id);
        } …
Run Code Online (Sandbox Code Playgroud)

c# .net-3.5 devexpress-windows-ui

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

如何将devexpress添加到visual studio 2012

我下载了DevExpress Universal 12.2 Exe文件,并将2个文件夹安装到我的电脑上.他们是devexpress dxperience 12.2和dxteeme 12.2文件夹.当我打开visual studio express 2012时,我看不到devexpress控件?我试图通过单击SETUP修复我的devexpress安装.

如何在Visual Studio.net 2012中放置devexpress工具箱?

谢谢

asp.net devexpress visual-studio-2012 devexpress-windows-ui

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

DevExpress XtraGrid RepositoryItemButtonEdit事件未触发

我在gridview中添加了一个新的ButtonEdit列,我将按钮转到了ImageButton.我添加了button_click事件,但事件未触发.我应该绑定 - 未绑定的东西到我的列按钮?

以下是属性:

        // 
        // gvPrompt
        // 
        this.gvPrompt.Columns.AddRange(new DevExpress.XtraGrid.Columns.GridColumn[] {
        this.gcID,
        this.gcName,
        this.gcPromptFileName,
        this.gcTypeName,
        this.gcDomainName,
        this.gcPromptText,
        this.gcLanguage,
        this.gcPromptPlayType,
        this.gcDuration,
        this.colPlayPrompt});
        **this.gvPrompt.FocusRectStyle = DevExpress.XtraGrid.Views.Grid.DrawFocusRectStyle.RowFocus;**
        this.gvPrompt.GridControl = this.gcPrompt;
        this.gvPrompt.Name = "gvPrompt";
        this.gvPrompt.OptionsBehavior.AllowAddRows = DevExpress.Utils.DefaultBoolean.False;
        this.gvPrompt.OptionsBehavior.AllowDeleteRows = DevExpress.Utils.DefaultBoolean.False;
        this.gvPrompt.OptionsBehavior.Editable = false;
        **this.gvPrompt.OptionsBehavior.EditorShowMode = DevExpress.Utils.EditorShowMode.Click;**
        this.gvPrompt.OptionsCustomization.AllowGroup = false;
        this.gvPrompt.OptionsSelection.EnableAppearanceFocusedCell = false;
        this.gvPrompt.OptionsView.ShowGroupPanel = false;
        this.gvPrompt.RowHeight = 3;
        **this.gvPrompt.ShowButtonMode = DevExpress.XtraGrid.Views.Base.ShowButtonModeEnum.ShowForFocusedRow;
        this.gvPrompt.FocusedRowChanged += new DevExpress.XtraGrid.Views.Base.FocusedRowChangedEventHandler(this.gvStep_FocusedRowChanged);**


         // 
        // colPlayPrompt
        // 
        this.colPlayPrompt.Caption = "C?al";
        this.colPlayPrompt.ColumnEdit = this.repositoryItemButtonEdit1;
        this.colPlayPrompt.FieldName = "Column";
        this.colPlayPrompt.ImageAlignment = System.Drawing.StringAlignment.Center;
        this.colPlayPrompt.Name = "colPlayPrompt"; …
Run Code Online (Sandbox Code Playgroud)

devexpress xtragrid devexpress-windows-ui

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

Direct2D / GDI+ 和缓慢的 Windows 窗体绘制 - 可以做什么?

我经常使用 Visual Studio 2008、.NET C# 2.0-3.5 和 Windows 窗体,并且和我之前的许多人一样,我注意到 GDI+ 在绘制控件时非常慢。请注意,我不太处理图像(JPG、GIF 等)。图像仅作为某些地方的图标。这实际上是绘制缓慢的控件/表单/等。

问题是您可以看到正在绘制控件,并且可能需要几秒钟才能绘制一组看似简单的控件。即,它的滞后和可怕。

我已经做了一些测试,我只是在表单上放置了一些标签(40-50),按 F5 运行并且必须等待它们被绘制。再次,滞后而不是一个很好的体验。

所以,WPF 可能会解决这个问题,但我/我们还没有准备好转向 WPF。所以我在四处寻找解决方法或修复程序,我偶然发现了 Direct2D,在阅读其他一些库时。

让我有点困惑,因此这些问题:

1) 首先,我想要的是一种相当简洁和简单的方法,可以更快的硬件加速方法替换GDI+。是否可以在不转到 WPF 并且不必重写我所有的 Windows 窗体代码的情况下做到这一点?

每当我在 Direct2D 上阅读任何内容时,我都会看到很长的通常可怕的 C++ 代码块,告诉我如何手动编写用于绘图的代码。我不要那个。

2) 在网上阅读时,我偶然发现了 SlimDX,但我不知道如何使用它(我承认,我在写作时还没有尝试过很多)。假设我已经有了一个 GUI 应用程序(Windows 窗体,标准 C# 代码)——我能不能以某种方式使用 SlimDX(或类似的东西)来“替换”GDI+ 而不需要太多重写?

我的问题是我找不到任何示例或类似的例子来告诉我是否可以在我已经创建的 Windows 窗体软件中使用 SlimDX、Direct2D 或其他类似的东西,如果可能的话 - 怎么做。

希望我不要太模糊 =)

==编辑== 2010-09-22

我已经在我的真实应用程序中进行了一些测试,并将缓慢的事情之一与此隔离开来:

当我向 UserControl 中的某些标签添加文本时,控件会调整自身大小以适应文本。例如,包含的 GroupControl 会根据刚刚添加到标签的 .Text-property 的文本大小进行一些调整。

大约有 10 个标签控件。第一次更新标签,从而改变大小,整个过程大约需要 500 毫秒。第二次更新标签,大小没有变化,大约需要 0 毫秒。

==编辑 2== 2010-09-22 …

c# gdi slimdx direct2d devexpress-windows-ui

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

Windows窗体内存泄漏

我在Windows应用程序中看到了轻微的内存泄漏.我在我的应用程序中使用DevExpress XtraForm.我看到的是表单的一个实例总是保存在内存中.如果多次打开同一个表单,它仍会保持打开最后一个表单的引用.

防爆.如果你在应用程序中打开10个不同的表单并关闭所有表单,它仍然不会释放分配给它的内存,因为一些奇怪的"MdiClient对象引用了LayoutEventArgs对象".幸运的是,它保留了每种类型单项的参考.

这是Redgate内存分析器输出的链接.

https://dl.dropboxusercontent.com/u/2781659/Memory%20Leak.pdf

在上面的图表中,DepartmentsForm是dipined但由于LayoutEventArgs的affectedComponent成员引用它而无法进行GC.

如果您发现任何明显错误,请告知.

.net c# memory-leaks devexpress devexpress-windows-ui

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

Devexpress TileView数据源

我有一个Devexpress winforms GridView,我想转换为TileView.这是我GridView在运行时的当前信息:

在此输入图像描述

使用List数据源填充此GridView,它可以正常工作.我使用Designer 将其转换GridView为a TileView:

在此输入图像描述

成功转换GridView后,我尝试运行App,它显示正确的记录数,但它是空白的:

在此输入图像描述

我错过了什么吗?这是填充网格的代码:

using (var sovDB = new MyEntities())
   {
      gridControl1.BeginUpdate();
      tileView1.Columns.Clear();
      gridControl1.DataSource = null;
      var query = (from b in sovDB.Palletes
                      join ipc in sovDB.IPCDisplays on b.DisplayNo equals ipc.DisplayNo
                             orderby b.PalleteID
                             select new
                             {
                                 PalletNo = b.PalleteNumber,
                                 Packs = b.CurrentPackCount,
                                 Mass = b.CurrentPackWeight + " Kg"

                 }).ToList();
          gridControl1.DataSource = query;
          gridControl1.EndUpdate();

     }
Run Code Online (Sandbox Code Playgroud)

c# devexpress devexpress-windows-ui

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

Devexpress从gridview child获取值

我使用此代码生成数据并将其输出到gridview中

string sql = "Sql Query";
string sqlCredit= "Sql Query";
string sqlCreditPayment = "Sql Query";

  SqlDataAdapter da = new SqlDataAdapter();

    DataSet ds = new DataSet();
    ds.EnforceConstraints = false;
    ds.DataSetName = "Receivables";

    ds.Tables.Add((con.ShowResult(sql, ref da)).Tables[0].Copy());
    ds.Tables[0].TableName = "dtReceivables";

    ds.Tables.Add((con.ShowResult(sqlCredit, ref da)).Tables[0].Copy());
    ds.Tables[1].TableName = "dtCredit";
    ds.Tables[1].Columns[1].ColumnMapping = MappingType.Hidden;
    ds.Tables[1].Columns[7].ColumnMapping = MappingType.Hidden;

    ds.Tables.Add((con.ShowResult(sqlCreditPayment, ref da)).Tables[0].Copy());
    ds.Tables[2].TableName = "dtCreditPayment";
    ds.Tables[2].Columns[0].ColumnMapping = MappingType.Hidden;

    DataRelation dr0 = new DataRelation("CreditList", ds.Tables[0].Columns["Id"], ds.Tables[1].Columns["DocSupplierId"]);

    ds.Relations.Add(dr0);


    DataRelation dr1 = new DataRelation("CreditPaymentList", ds.Tables[1].Columns["Id"], ds.Tables[2].Columns["SourceId"]);
    ds.Relations.Add(dr1);



    slipDashBoard.DataSource = ds.Tables["dtReceivables"];

    slipDashBoard.ForceInitialize();
    gridView1.BestFitColumns();
Run Code Online (Sandbox Code Playgroud)

伙计们.请帮忙.当我点击gridview的孩子时,我希望实现这样的目标.thnx提前

在此输入图像描述

c# devexpress winforms devexpress-windows-ui

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

从ColumnChooser隐藏列

目前我正在使用devexpress开发一个应用程序,我设置了两个列来隐藏,如下所示:

gridView1.Columns[2].Visible = false;
Run Code Online (Sandbox Code Playgroud)

但是,当我运行我的程序时,DataGrid中有一个名为"Selector de Columnas"的选项(英文ColumnChooser).在此选项中,将显示我设置为隐藏的两列.我不希望用户看到这些列,但我仍然需要它们,所以我只想隐藏它们.

你可以在这里看到问题

我搜索了Devexpress的在线文档,他们在这里说明可以使用ShowInColumnChooser属性隐藏列.但是我无法在ColumnChooser中隐藏这些列.他们没有向您展示任何示例,只是这行代码:

public bool ShowInColumnChooser { get; set; }
Run Code Online (Sandbox Code Playgroud)

我猜这是一些Devexpress控件的属性,但是他们没有说明如何使用它.

c# devexpress visual-studio-2010 visual-c#-express-2010 devexpress-windows-ui

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

如何创建DevExpress报告

如何使用Devexpress(Windows窗体)创建报告?

如果可能的话,我愿意一步一步地知道

devexpress winforms devexpress-windows-ui

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

如何使用DevExpress WinForms在C#中输入标签?

我使用的是台式机的DevExpress双赢的UI形式,我想实现像搜索栏这样:
截图
在DevExpress中有没有办法像这个插件一样WinForms

c# devexpress devexpress-windows-ui

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