インナーイヤホンで音楽を聴く

iPodを購入してから、家で音楽を聴く機会が減った。

同居し始めてからという理由もあるかも。

そうなると、たいてい通勤時間に聴いているわけで、どうしてもリラックスしては聴けない。

常に緊張状態にあるような感覚にとらわれる。

それは、インナーイヤホンを利用してるからなのかもしれない。

音が近い。

というか、全てが音に塞がれる。

そんな状態になる時がある。

ブルーな時に、そんな空気がやってくると辛いものがある。

まぁ・・・。だからといってやめないのだけれども・・・。

Share

プライバシーポリシーについて

最近思うこと。

いくら企業サイドがプライバシーポリシーを謳っていたところで、信用できない。

だって、漏洩しまくり。

不特定多数の人間がDBにアクセスできまくり。

ユーザIDもパスワードも共有されまくり。

だけど、当たり前のことだけど個人情報を渡さないとサービスが提供されるわけではない。

そこが、サービス受けるか諦めるかのジレンマを生んでいる。

なんていいながら、今日もAmazonで本買うし、Livedoorでblog書いてる僕・・・。

Share

所有する子コントロール群のEnable/Disableをまとめて変更する

ASP.NETで、WebフォームであるPanelを利用した時は、PanelのEnabled=falseでPanelが保有するコントロールも使用不可になる。

だが、Tableをサーバサイドで利用するようにして、Disabled=Trueにしても子コントロールは使用不可表示になるが使用できてしまう。

このロジックはその問題を回避する。

001    Public Shared Sub SetControlEnabled(ByVal Parent As Control, ByVal IsEnabled As Boolean)
002         Dim objControl As Control
003 
004         SetEnabled(Parent, IsEnabled)
005 
006         For Each objControl In Parent.Controls
007             If objControl.Controls.Count > 0 Then
008                 SetControlEnabled(objControl, IsEnabled)
009             Else
010                 SetEnabled(objControl, IsEnabled)
011             End If
012         Next
013     End Sub
014 
015     Private Shared Sub SetEnabled(ByVal objControl As Control, ByVal IsEnabled As Boolean)
016         Dim objProperty As System.Reflection.PropertyInfo
017         objProperty = objControl.GetType().GetProperty("Disabled")
018         If Not objProperty Is Nothing Then
019             objProperty.SetValue(objControl, (Not IsEnabled), Nothing)
020         Else
021             objProperty = objControl.GetType().GetProperty("Enabled")
022             If Not objProperty Is Nothing Then
023                 objProperty.SetValue(objControl, (IsEnabled), Nothing)
024             End If
025         End If
026 
027     End Sub
028 

Share

コントロールコレクションから特定タイプのコントロール群を再帰的に抽出する。

コントロールが所有するコレクションから指定した型のコントロール群を取得するロジックです。

Parentにコントロール群を所有するコントロールを渡し,typeに取得したいコントロールの型情報を渡します。

戻り値は、取得した結果でObject配列になっています。

ちなみに、VB.NETで記述してあります。

001     Public Shared Function GetControls(ByVal Parent As Control, ByVal type As System.Type) As Object()
002         Dim objControl As Control
003         Dim tmpControl As Control
004         Dim objList As New Collections.Stack
005         Dim objControls() As Object
006 
007         '検索
008         For Each objControl In Parent.Controls
009             '現在の要素が指定の型であれば、スタックに登録
010             If objControl.GetType() Is type Then
011                 objList.Push(objControl)
012             End If
013             '現在の要素が子を持っていたら再帰呼び出し
014             If objControl.Controls.Count > 0 Then
015                 objControls = GetControls(objControl, type)
016                 '再帰呼び出しした結果コントロールリストを持っていればスタックに登録
017                 If Not objControls Is Nothing Then
018                     For Each tmpControl In objControls
019                         objList.Push(tmpControl)
020                     Next
021                     objControls = Nothing
022                 End If
023             End If
024         Next
025         '返す
026         objControls = objList.ToArray()
027         Return objControls
028     End Function
029 

Share