2017-04-09 2 views
-1

私はコンボボックスを実装しようとしていましたが、1から30の番号が順番に並んでいますが、アプリケーションがロードされると順不同で()私は自分の選択肢を使い果たした。コンボボックスの番号を1から30に変更するC#

方法1:

for (int i = 1; i <= 30; i++) 
{ 
    string[] numbers = { i.ToString() }; 
    cmbYOWE.Items.AddRange(numbers); 
} 

方法2:

以下は、私は、多くの他のもののうち、試してみましたコードですcmbYOWEは私のコンボボックスのコードネームである

cmbYOWE.Items.AddRange(System.Linq.Enumerable.Range(1, 30).Select(i => (object)i).ToArray()); 

コントロール。

順番は次のようにする必要があります:1 2 3 4 5 6 7 8 9 10 11など ではなく、10,11,12,13,14,15,16、 17,18,19,2,20,21,22,23,24など

+0

なぜ数値を並べ替えるかを指定するときに、これらの値を文字列として格納しておきます(そしてそれらを並べ替える)のはなぜですか?代わりに(オブジェクトとしてキャスティングせずに)宣言番号をint []に変更すると、問題が解決されます。 – Peregrine

+0

質問と回答の両方で問題がコードと提案された解決策とはまったく異なるものであるため、この質問をトピックとして閉じようとしています。問題はOPのために解決されましたが、この質問と回答は将来の訪問者にとって価値がないことを意味します。 –

答えて

-1

これは異なる問題かもしれません。アプリケーション内でスレッド/ Ajaxコードを使用している可能性があります。これは注文を妨害しています。

とにかく、方法2を拡張すると、並べ替えが許可されていれば、これを試すことができます。

var numbers = System.Linq.Enumerable.Range(1, 30).Select(i (object)i).ToArray(); 
Array.Sort(numbers); 
comboBox1.Items.AddRange(numbers); 
comboBox1.Sorted = false; 
+0

それはまだ同じ問題です。 – John

+0

あなたはどこにでもコンボボックスを使用していますか?また、アプリケーションにスレッドがありますか? – Priyanka

+0

Combobox.sorted = trueであることを確認してください。はいの場合は、falseに設定します。 – Priyanka

-1

これを試してみてください。それは簡単です!

for (int i = 1; i < 31; i++) 
{ 
    cmbYOWE.Items.Add(i.ToString()); 
} 
+0

私はそれをしました。それはまだ同じことです。 – John

+0

私のアプリケーションでうまく動作します。 –

+0

問題はこのコードの部分にはありません。 –

関連する問題