2012-06-13 3 views
0

У меня есть приложение с несколькими элементами управления DataGridView. Я хотел бы создать главный элемент управления или компонент (я не уверен, какой из них использовать), где я могу определить базовую окраску и поведение. Однако, поскольку все элементы управления DataGridView имеют разные столбцы в приложении, я хочу определить столбцы после размещения нового экземпляра в форме, а не в основной форме.Как создать элемент управления winforms 'style master'

Можете ли вы предложить способ сделать это? Заранее спасибо.

ответ

3

Имейте что-то вроде своего собственного MasterGridView, где вы определяете все распространенное поведение, цвет и т. Д. &, а затем наследуйте все соответствующие datagridviews из этого.

public class MasterDataGridView: System.Windows.Forms.DataGridView 
{ 
    public MasterDataGridView() 
    { 
     BackColor = Color.Yellow; 
     // define other behaviours 
    } 
} 

public class OrdersDataGridView : MasterDataGridView 
{ 
    // data binding, column addition etc can be handle in respective grid views 
} 


public class ReportsDataGridView : MasterDataGridView 
{ 
} 

... т.д.

+0

Спасибо. Есть ли способ сделать это в дизайнере, а не в коде? Я имею в виду установку backColor. – Daniel

+0

Я тебя не понял. Вы всегда можете добавить свой компонент «MasterDataGridView» в конструктор. Просто создайте проект библиотеки классов и напишите класс, что я показал выше. «Постройте его, и вы увидите, что MasterDataGridView появится в панели инструментов на правой панели». Просто перетащите кадр и установите Свойства. Это обычный способ записи пользовательских компонентов в Winforms. –

+0

Что я имел в виду, так это то, что я хотел найти способ установить цвет фона мастера в желтый цвет в дизайнере (вместо кода, как в вашем примере), так что, как только я вытащу компонент из панели инструментов, у меня будет желтый фон. Во всяком случае, ваш ответ приемлем, спасибо за помощь. – Daniel

Смежные вопросы