2
這一點已經讓我難住了一小會兒。我使用一些合理的默認值創建派生的System.Windows.Forms.DataGridView
控件。現在要清楚地說明它們只是默認值,應該可以在設計器中進行更改。截至目前我有默認值的控制構造被設置:在哪裏設置自定義控件的默認設置
using System.Drawing;
using System.Windows.Forms;
namespace TruckSmart.Controls
{
/// <summary>
/// An implementation of a System.Windows.Forms.DataGridView with sensible default values.
/// </summary>
public class DataGrid : System.Windows.Forms.DataGridView
{
/// <summary>
/// Initializes a new instance of the TruckSmart.Controls.DataGrid class.
/// </summary>
public DataGrid()
{
AllowUserToAddRows = false;
AllowUserToDeleteRows = false;
AllowUserToOrderColumns = false;
AllowUserToResizeColumns = false;
AllowUserToResizeRows = false;
AutoGenerateColumns = false;
AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.DisplayedCells;
AutoSizeRowsMode = DataGridViewAutoSizeRowsMode.DisplayedCells;
BackgroundColor = SystemColors.Window;
BorderStyle = BorderStyle.Fixed3D;
ColumnHeadersBorderStyle = DataGridViewHeaderBorderStyle.None;
Margin = new Padding(0);
MultiSelect = false;
ReadOnly = true;
RowHeadersVisible = false;
SelectionMode = DataGridViewSelectionMode.FullRowSelect;
AlternatingRowsDefaultCellStyle = new DataGridViewCellStyle()
{
BackColor = Color.FromKnownColor(KnownColor.AliceBlue)
};
ColumnHeadersDefaultCellStyle = new DataGridViewCellStyle()
{
WrapMode = DataGridViewTriState.False
};
}
}
}
使用構造函數中的主要問題是,當我關閉在Visual Studio和重新打開我的窗體設計它的構造函數被調用而且我之前在設計器中所做的任何更改都會重置。是否有一個特殊的地方我應該把這些默認值?
@CrisMcLaughlin這個工程。看起來這是最簡單的解決方案。我不知道爲什麼有些人不喜歡使用'new'來影響基本成員,但在某些情況下(例如這種情況)它真的很有用。 –
事實證明,它確實有效。我設置了錯誤的屬性......再次感謝! –