【问题标题】:Making properties available in datagridview usercontrol c#在datagridview usercontrol c#中使属性可用
【发布时间】:2013-05-18 08:35:24
【问题描述】:

几天以来,我开始编写带有分页的数据网格视图。分页本身可以正常工作并且计算良好。但是现在我遇到了一个问题,我需要自定义用户控件中不可用的属性。

为了能够使用我自制的用户控件,在将其导出到 .dll 文件(用户控件)时,我需要以下属性:

  • Columns 属性 (datagridview.Columns)
  • CurrentRow.Index 属性 (datagridview.CurrentRow.Index)
  • Rows.Count 属性 (datagridview.Rows.Count)
  • Rows.Cells.Value (datagridview.Rows[counter].Cells[cellcounter].value)
  • Column.width 属性(datagridview.Column.Width)

有人可以帮助我如何做到这一点/举个例子吗?我不知道该怎么做。

我有一个我也需要的属性可以工作,所以我想这可以作为一个例子:)

public void SetColumns( string columnName)
{
    dataGridView.Columns[columnName].Visible = false;
}

简而言之:如何通过在 datagridview 中编码来获得其他项目中可用的这些属性?这将是一个用户控件。

谢谢你, 延特

【问题讨论】:

    标签: c# properties datagridview user-controls


    【解决方案1】:

    答案取决于您到底需要什么。
    第一种情况涉及将DataGridView 本身暴露给用户。在您的用户控件中:

    private DataGridView _dataGridView1;
    
    //Lets use a readonly property for this one
    //Be careful, readonly property doesn't mean you can't modify the values inside!
    public DataGridView UserControlDataGridView 
    {
        get
        {
            return _dataGridView1;
        } 
    }
    

    然后,您可以在其他项目中控制 DataGridView。

    如果您不想向用户公开 DataGridView,则需要为所需的每个项目创建一个属性。

    希望这会有所帮助!

    【讨论】:

    • “那么,您就可以控制其他项目中的 DataGridView。”这是否意味着当我在另一个项目中使用 dll 文件时,我将拥有我需要的所有属性?比如 .column.width 属性之类的?
    • ^ 好的,所以我发现这不是交易。但是我到底怎么能告诉例如我希望能够在另一个项目中改变列的宽度或其他东西? :s
    • 我现在还不清楚您的问题。您能否发布更多您的 dll 代码并使用它进行项目并提出一个精确的问题?
    猜你喜欢
    • 2011-01-18
    • 1970-01-01
    • 2012-06-25
    • 1970-01-01
    • 2011-04-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多