
No.1ベストアンサー
- 回答日時:
Class Q3897213A
Inherits System.Windows.Forms.Form
Private CustomList1 As New NumericSortedList
Private TextBox1 As New System.Windows.Forms.TextBox
Private Button1 As New System.Windows.Forms.Button
Private Button2 As New System.Windows.Forms.Button
Public Sub New()
Me.Width = 800
Me.Height = 600
CustomList1.Width = 700
CustomList1.Height = 400
CustomList1.Top = 0
CustomList1.Left = 25
TextBox1.Width = 100
TextBox1.Height = 20
TextBox1.Top = 500
TextBox1.Left = 500
Button1.Width = 100
Button1.Height = 20
Button1.Top = 550
Button1.Left = 450
AddHandler Button1.Click,AddressOf Append
Me.Controls.Add(CustomList1)
Me.Controls.Add(TextBox1)
Me.Controls.Add(Button1)
End Sub
Public Sub Append()
CustomList1.Items.Add(TextBox1.Text)
TextBox1.Clear
'SortedをFalseからTrueに変更した時にソートされるらしいので回りくどいけど。
CustomList1.Sorted = False
CustomList1.Sorted = True
End Sub
Shared Sub Main
Dim Q3897213A1 As New Q3897213A
Q3897213A1.ShowDialog
End Sub
End Class
Class NumericSortedList
Inherits System.Windows.Forms.ListBox
Protected Overrides Sub Sort()
'ListBoxはalphabetical sortみたいなので
'MSDN Libraryの記述どおり,Sortメソッドをオーバーライドしたクラスを自作
'ソーティングアルゴリズムの負荷や速度については検討してない。
'何故かこれのバグ取りにかなり時間が掛かったため。基本的なものなはずなんだけどなあ・・・
'デリゲート使えるかもしれないけどよくわからんので放置。
If Me.Items.Count > 1 Then
For i As Integer = 0 To Me.Items.Count - 2
Dim swapped As Boolean = false
Dim current As Integer = Integer.Parse(Me.Items(i).ToString)
For j As Integer = i + 1 To Me.Items.Count - 1
If Integer.Parse(Me.Items(j).ToString) > current Then
For k As Integer = i + 1 To j - 2
Me.Items( k - 1 ) = DirectCast(Me.Items(k),Object)
Next
Me.Items(j - 1) = DirectCast(current,Object)
swapped = True
Exit For
End If
Next
System.Console.WriteLine(swapped)
If swapped = False Then
For k As Integer = i + 1 To Me.Items.Count - 1
Me.Items( k - 1 ) = DirectCast(Me.Items(k),Object)
Next
Me.Items(Me.Items.Count - 1) = DirectCast(current,Object)
End If
swapped = False
Next
End If
End Sub
End Class
No.3
- 回答日時:
数字を登録する際に文字列に変換して 桁数を合わせてみてはいかがでしょう
for n = 1 to 1000
ListBox1.Items.Add( n.ToString().PadLeft(4) )
next
これなら Sortedプロパティが TrueでもFalseでも同じ結果が得られますよ
No.2
- 回答日時:
間違い一箇所発見orz
'誤
'Public Sub Append()
'正
Public Sub Append(Sender As Object, e As System.EventArgs)
'SharpDevelopでOption Strict Onをデフォルトにする方法がわからん。
'調べてないだけだけど。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
今、見られている記事はコレ!
-
釣りと密漁の違いは?知らなかったでは済まされない?事前にできることは?
知らなかったでは済まされないのが法律の世界であるが、全てを知ってから何かをするには少々手間がかかるし、最悪始めることすらできずに終わってしまうこともあり得る。教えてgooでも「釣りと密漁の境目はどこです...
-
カスハラとクレームの違いは?カスハラの法的責任は?企業がとるべき対応は?
東京都が、客からの迷惑行為などを称した「カスタマーハラスメント」、いわゆる「カスハラ」の防止を目的とした条例を、全国で初めて成立させた。条例に罰則はなく、2025年4月1日から施行される。 この動きは自治体...
-
なぜ批判コメントをするの?その心理と向き合い方をカウンセラーにきいた!
今や生活に必要不可欠となったインターネット。手軽に情報を得られるだけでなく、ネットを介したコミュニケーションも一般的となった。それと同時に顕在化しているのが、他者に対する辛らつな意見だ。ネットニュース...
-
大麻の使用罪がなかった理由や法改正での変更点、他国との違いを弁護士が解説
ドイツで2024年4月に大麻が合法化され、その2ヶ月後にサッカーEURO2024が行われた。その際、ドイツ警察は大会運営における治安維持の一つの方針として「アルコールを飲んでいるグループと、大麻を吸っているグループ...
-
ピンとくる人とこない人の違いは?直感を鍛える方法を心理コンサルタントに聞いた!
根拠はないがなんとなくそう感じる……。そんな「直感がした」という経験がある人は少なくないだろう。ただ直感は目には見えず、具体的な説明が難しいこともあるため、その正体は理解しにくい。「教えて!goo」にも「...
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
C++
-
textareaみたいなクラスで、自...
-
Google Apps Script で getRang...
-
別クラスのmainメソッドの実行
-
親の親のメソッドを呼ぶには?
-
コマンドライン引数のチェック
-
クラスを作るとメソッドの数が...
-
StringBufferからStringへキャ...
-
Strutsでチェックボックスの値...
-
C# の ByVal と ByRef について
-
PreparedStatementのレスポンス...
-
C# 他のnamespaceにあるメソッ...
-
Java の配列の中身は volatile ...
-
contextってなんですか?
-
C言語での文字列より値を抜き出す
-
ユニコード変換
-
定数につけるべき修飾子は?
-
不要なstaticメソッドの見分け...
-
System.out.print
-
C#にてクラス・メソッドを文字...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
String.containsの反対機能はあ...
-
Java初級 引数に適用できません
-
なぜprotected overrideなのか
-
レコード件数の表示
-
abstract と static を一緒に付...
-
StringBufferからStringへキャ...
-
YYYYMMDD書式の日付に対する適...
-
C言語での文字列より値を抜き出す
-
別クラスのmainメソッドの実行
-
メソッドの引数に指定されてい...
-
Strutsでチェックボックスの値...
-
readLine()ではじめから読み直...
-
JUnitのテストメソッドごとのメ...
-
C# 点の描き方をおしえてくだ...
-
Google Apps Script で getRang...
-
C# の ByVal と ByRef について
-
javaに"search"という関数 or ...
-
シェルスクリプトからのJavaメ...
-
説明文書でのメソッド・変数の...
-
return new使用時
おすすめ情報