2020-11-01から1ヶ月間の記事一覧

Formのコントロールなどが表示されない

■コンストラクタを明記している場合に、InitialazeCompornet()を呼んでいるか? FormのVBにコンストラクタを明記した場合、コンストラクタ内に 以下のメソッドが自動で記載される。 ・InitializeComponent() これは、Desiner.vbに定義された各コントロールを…

DataTable:値を列名で取得

dt.Rows(行番号)(列名).ToStringex) dt.Rpws(0)("〒").ToString

自作クラスのLISTに対して重複を削除

■自作クラスのLISTに対して重複を削除するには、LINQを使う ex)TAddressクラスのLISTに対して、ShikuChoName列の値で重複を削除 したLISTを取得する。取得したLISTをコンボボックスにセットする。 Dim tList As IEnumerable(Of TAddress) = tList.GroupBy(Fu…

List(T)のキャスト

VB

■Genericなリストの型変換 ・aList(Of 型1) = bList.Cast(Of 型2).ToList() ex) Dim aList(Of TBase) Dim wList(of TUserinfo) wList = aList.Cast(Of TUserInfo).ToList() (*) 一行で書くと Dim wList As List(Of TUserInfo) = _tList.Cast(Of TUserInfo).T…

パラメタライズクエリ

VB

■SQLを発行する際は、条件句をパラメータ化することが、Security上望ましい また、記号のエスケープや文字列の場合''の付与等も自動で行ってくれる。 ・sqlCommand.Parameters.Add(New SqlParameter("パラメータ名", 値)) ・SQL句にパラメータ名を埋め込む e…

ErrorProvider:使い方

■ErrorProvider ・フォームの各コントロールについて、Validatingイベントにてエラー時、 対象のコントロールの横にアイコンと、メッセージを表示することができる。 ■使い方 ①フォーム上にErrorProviderをドラッグ ②チェックしたいコントロールのValidating…

ComboBox:手入力させない

ComboBoxについて、リストに存在する値の選択のみを許容し、手入力を不可とする ・DropDownStyleプロパティ:DropDownList

DataGridView:選択行の値の取得方法

■選択行を取得 ・DataGridView1.CurrentRow ・DataGridView1.SelectedRows(0) ■選択行から指定列の値を取得 ・DataGridView1.CurrentRow.Cells(”列名1”).Value ・DataGridView1.SelectedRows(0).Cells(”列名1”).Value (ex)Me.DgvUserInfo.SelectedRows(0).Ce…

DataTable:先頭行にブランク行を追加

■_dtをデータ読込済みのDataTableとする_dt.Rows.InsertAt(_dt.NewRow, 0)

FormControlに動的にイベントを追加

VB

FormのTsmNewというコントローラのクリック時イベントに対して、 イベントハンドラー:ExecUserMainteを追加する。 AddHandler Me.TsmNew.Click, AddressOf ExecUserMainte (*)イベントハンドラーの例。引数にSenderとEventArgsはセットで書かないと、 なぜ…

自作クラスを持つListに対してLINQを実行する

VB

自作クラスを持つListに対してLINQを実行する(例)以下のクラスも持つListに対してLINQを実行 Public Class TUserInfo Public Property UserId As String Public Property UserName As String End Class (*)UserIdがkeyであるデータを抽出Dim tList As List(O…

App.configからの読込(独自Section)

VB

■事前準備 ・プロジェクト→プロパティ→参照設定から、以下を追加 -System.Configuration ■独自セクション定義 ・<configSections>の直下に<section name>を追加 <configSections> <section name="FilePaths" type="System.Configuration.NameValueFileSectionHandler" restartOnExternalChanges="false" /> </configSections> ・section nameに指定した名称で、タグを切る <FilePaths> </filepaths></section></configsections>

Event

VB

■イベント ・ユーザの操作やプログラムの処理などが、通知したい事が発生した際に それを通知する機能 ■イベントハンドラー ・イベントの通知先。イベント発生時に処理するメソッド。 ・イベントハンドラーとなるメソッドは、通常のメソッド通りの定義でもイ…

メソッドの引数にラムダ式

VB

■Sub LamdaTest(Sub() Console.WriteLine("LamdaTest2")) Public Sub LamdaTest(testMethod As Action) ’---Action()はNG testMethod() ’---赤字のラムダ式が実行される End Sub ///実行結果 ”LamdaTest2” ■Function LamdaTest2(Function(val) "LamdaTest" &…

匿名関数(ラムダ式)

VB

1.戻り値の無い匿名関数(複数行) Delegate = Sub() Console.WriteLine("匿名メソッド”) End Sub 2.戻り値の無い匿名関数(単一行) Delegate = Sub() Console.WriteLine("匿名メソッド call") (*)引数がある場合 Delegate = Sub(ByVal val As String) Console.…

AndAlso,OrElse

VB

■AndAlso X AndAlso Y は X And Yと処理結果としては同じ。 ただし、AndAlsoは左辺がFalseだった場合不変は評価しない。 その為、Andより処理が速い。 ■OrElse X OrElse Y は、X Or Yと処理結果としては同じ。 ただし、OrElseは左辺がTrueだった場合、右辺は…

コレクション初期化子

VB

■List(Of T)、Dictionary(Of T)の初期化子 List(Of T)やDictionary(Of T)等のコレクションについて、 宣言時にFromを付けることで初期化を行うことができる。 <<LIST>> Dim list = as New List(Of Integer)From{10,20,30} (*)受ける変数の型を指定するなら Dim lis</list>…

自動実装プロパティ

VB

Public Property val1 As String Public ReadOnly Property val2 As String = "test"

NULL許容型(変数名に?)

VB

変数名またはデータ型に?をつけることで、 その変数はNothingを受け入れる事ができるようになる。 以下はいずれも等価となる。 Dim test as Integer? Dim test? as Integer (*)例えば何かの件数を表示する場合に、0とデータ無しを区別する為 などにNull許容…

CAST

VB

VBにはざっくり以下のCASTがある ・CXXX - CDbl,CIntなど。 CTypeは引数に任意の型を指定でき、より多くの型に変換できる。 ・DirectCast - 値型への変換、かつ変換元、先のクラスが継承の関係に あれば変換できる。 ・TryCast - 参照型への変換、かつ変…

Delegate色々

VB

Public Class Class5 Public Delegate Function testDelegateFunc(ByVal argStr As String) As String Public Delegate Sub testDelegateSub() Public Sub delegateTest() '---定義済みDelegateを使わない Dim myFunc0 As testDelegateSub = New testDelegat…

StaticとShared

VB

■Static ・ローカル変数に付与できる ・Sharedなメソッド内でStaticな変数を定義した場合 ①その変数はアプリ内で共通となる ②アプリが終了するまで値がクリアされない ・非Sharedなメソッド内でStaticな変数を定義した場合 ①インスタンス毎に値が異なる ②Cla…

変数の寿命

VB

・Classの直下に宣言した変数は、Classが破棄されるまでクリアされない。 ・Staticな変数は、Classが破棄されるまでクリアされない。 ・Sharedな変数はアプリが終了するまで。 ・Sharedなメソッド内のStaticな変数はアプリが終了するまでクリアされない。 Pu…

Throw

VB

Throw句は、発生した例外をその場で再度発生させる。 下記例では、緑の部分で0除算が発生しCatchに飛ぶが、赤時の部分で 再度0除算を発生させている。 ネストのより外の例外ブロックに処理を任せたい場合などに使う。 (*) Throw exと書いてはいけない! Try …

Shared(静的〇〇〇)

VB

メンバ(メソッドやプロパティ等)にSharedを付けることで、そのメンバはインスタンスメンバではなくクラスメンバとなる。⇒ ・クラスのインスタンスが無くとも、当該メンバにアクセスできる。・プロシージャが終了してもSharedメンバの値はクリアされない。・…