CLASSE MANIPULAR O COMPONENTE DO FORM DATAGRIDVIEW

ALEXPASSOS 28/03/2011 21:39:23
#369535
Olá

Eu estou querendo criar uma classe específica para meu sistema.... Essa classe vai interagir com um DataGridView (ou poderia ser qualquer outro componente no form).

Mas se eu colocar na classe a linha

DataGridView.Rows.count (por exemplo) dar erro falando que o componente não existe na classe e realmente não existe. Me falaram que eu tenho que passar o componentes DataGridView que esta no meu form como parâmetro para a classe fazer o que tem que fazer e retornar os dados.

Como passar o componente como parâmetro para a classe ou fazer a classe interagir com o componente no form.

Ps.: Esse classe não esta incluída no meu projeto....eu criei um projeto separado e depois vou referenciar ela no projeto.
TMLNANET 28/03/2011 22:06:26
#369538
Olá amigo, td bem?

Você pode criar uma classe normal e passar o seu DatagridView como parâmetro, neste caso nao se esqueça de adicionar a referência [Ô]Windows.Forms[Ô] em seu projeto.

Você pode também criar um [Ô]Component Class[Ô] herdando do DataGridView ( add a linha [Ô]Inherits Windows.Forms.DataGridView[Ô]) e assim trabalhar em seu próprio componente...ou ainda criar um [Ô]Component Class[Ô] e adicionar todos seus controles nele...

Fica ao seu critério, mas lembre-se sempre dos conceitos: Abstração, Encapsulamento, Herança e Polimorfismo
ALEXPASSOS 28/03/2011 22:19:29
#369539
Esse é minha dúvida... como passar o componente como parâmetro?

Eu pensei em criar uma classe herdando o datagridview.... mas acho que essa vai me dar mas trabalho.

E não entendi esse Component Class e adicionar todos seus controles nete...
ALEXPASSOS 29/03/2011 06:59:54
#369549
Consegui... fiz assim:

 Imports System.Windows.Forms

Public Class Class1

Dim teste As String

Public Property dados() As String
Get
Return teste
End Get
Set(ByVal value As String)
teste = value
End Set
End Property

Public Function getDados(ByVal dgv As DataGridView, ByVal linha As Integer, ByVal cel As Integer) As String

MsgBox(dgv.Rows(linha).Cells(cel).Value)

dados = [Ô]retorno[Ô]

End Function

End Class
Tópico encerrado , respostas não são mais permitidas