Srs.
estou desenvolvento um Controle tipo grid personalizado em Vb.net 2005 que possui uma classe principal que é a GRID, ela possui os headers e um FLOWLAYOUTPANEL para organizar as linhas.
Criei um segundo Controle que são as linhas chamado ROW. Então insiro este controle ROW para cada linha que o usuário adicionar.
O problema é que quero fazer uma coleção destas linhas na minha classe GRID chamada ROWS
"Private ROWS as New Collection"
Porém eu costumo criar uma classe para organizar a minha coleção, então crio clsROW que contém a coleção e outros métodos e propriedades como COUNT, ADD, REMOVE, etc. Segue exemplo:
Class GRID
private pRows as clsRows
Public Property() as clsROWS
Get
Return pRows
End Get
Set (Byval value as clsRows)
pRows.AddRow()
End Set
End Property
End Class
Class clsRows
private colRows as collection
Sub AddRow()
'<Código para adicionar na coleção>
End Sub
Function Count() as Integer
'<Código que retorna o col.Rows.count>
End Function
'... E todas as propriedades e Métodos necessários.
End Class
Fazendo desta forma o usuário pode digitar o nome da variável do tipo GRID da seguinte forma: GRID.ROWS.ADD(), por exemplo. deixando mais intuitivo e fácil de usar.
Mas eu preciso utilizar informações da classe GRID na classe clsRows com por exemplo o WIDTH do meu header para que eu possa setar a linha (controle ROW gerenciado pela classe de coleção clsRows) com o mesmo WIDTH, só que eu não tenho acesso aos controles da classe GRID atraves da classe clsRows e eu não quero colocar propriedades na clase clsRow para receber e setar estas informações para que o usuário do meu controle não veja estas proprieades que só serão usadas pelo meu controle e não pelo usuários dele.
Com isso não consigo chegar a uma solução para o problema, talvez eu esteja usando algum conceito errado ou existe alguma outraforma de fazer o que quero, efim.
Se alguém puder me ajudar, eu ficaria grato!
Obrigado!