私はDataGridViewColumn
のようなクラスにプロパティを追加したいと言うことができます。システム定義クラスにプロパティを追加する方法VB.NET
このような方法で、これらのオブジェクトをキャストできます。DataGridViewCheckBoxColumn
これは現在私が行っていることですが、エラーが発生しています。
私は結構です、私はそれがしたいどのように動作し、私自身のクラスDataGridViewColumn
Public Class DataGridViewColumn
Inherits System.Windows.Forms.DataGridViewColumn
Private Field As String
Public Property SomeField() As String
Get
Return Field
End Get
Set(ByVal value As String)
Field = value
End Set
End Property
End Class
を持っています。私はこのような何かを試しに行くとき、それはそれを好きではない...しかし、
Private Function gen(name As String) As DataGridViewColumn
Select Case name
Case "DataGridViewTextBoxColumn"
Dim c2 As New DataGridViewTextBoxColumn
c2.Name = "tstColumn"
c2.HeaderText = "Test Column"
c2.ReadOnly = False
Return c2
End Select
Return Nothing
End Function
は私がこれを行うことを可能にする方法はありますか?私もDataGridViewTextBoxColumn
クラスを作り、System.Windows.Forms.DataGridViewTextBoxColumn
を継承しようとしましたが、何も動作していないようです。
エラーは単に私は自分のDataGridViewTextBoxColumn
私はNETですでに使用されているものとは異なるクラス名を使用することから始めます。たぶん 'DataGridViewColumnEx'。 TextBoxColumnは基本的なDataGridViewColumnとは異なるタイプなので、他の問題があります。ジェネリックはそれを修正するだろう – Plutonix
それは大丈夫です。しかし、これを行う簡単な方法がまだあるので、データ列に単純なプロパティを追加するだけですべての問題を解決する必要はありませんか? – 3kings
'DataGridViewColumn'から独自のクラスを派生させ、' DataGridViewColumn'を継承してクラスのメンバーを引き継ぐ他のクラスを作成したいと言っているようです。答えはいいえ、それは起こっていません。 'DataGridViewColumn'を継承するクラスは、' DataGridViewColumn'のメンバーについてのみ知っています。ハックの1つのオプションは、列の 'Tag'プロパティに目的のデータを取得して設定するための2つの拡張メソッドを書くことです。あなたがそれに興味を持っているなら、私は答えにコードを提供することができます。 – jmcilhinney