c#で質問が2つあります。
①numericUpDownを使っているのですが、アップダウンで値を変更すると、
Levelに同じ数字が反映されるという問題なのですが
直接numericUpDownに値を入力しても反映できるようにしたいです。
(なぜかアップダウンでの値でしか反映されないです。。)
②numericUpDownの値が何も入力されていない(空白)ときTextBoxが非表示というプログラムを作りたいです。
私が作ったのは
If (numericUpDown.Value<=0)
Text.Enabled=false;
と作成したのですが、うまくいきません。
numericUpDownのツールについてあまり知らないので教えてください。
よろしくお願い致します。
閉じる
2分前
No.3ベストアンサー
- 回答日時:
NumericUpDown の Value プロパティは数値しか格納できない。
NumericUpDown コントロールのテキストボックス部分は数値しか入力できない。
スペースも入力できない。
Delete や Backspace は使える。
Delete や Backspace が使える関係で、入力途中にテキストボックスの入力値が一時的に空の状態になることは許されている。
NumericUpDown コントロールの値は Value プロパティで取得する。
テキストボックス部分に有効な数値が入力された状態で Enter が押されたり、フォーカスが外れると Value プロパティが更新される。(ただしテキストボックス部分が空文字の状態のままでは Value プロパティの値は変化しない)
Value プロパティの値が変化しないと ValueChanged イベントは発生しない。
という仕様です。
こういう状況ですので、テキストボックス部分を空文字にして Enter を押したりフォーカスを外しても ValueChanged イベントが発生しないため、他のテキストボックスを無効化するような処理を書くことはできません。
ただ、NumericUpDown コントロールには Text プロパティという非表示なプロパティがあります。 こいつはインテリセンスには出てきませんが使用することはできます。
また推奨されていませんが、TextChanged イベントもあるようです。
https://msdn.microsoft.com/ja-jp/library/system. …
この時のイベント発生順は
[TextChanged] ⇒ (テキストボックスの値が正しければ) [ValueChanged] となるようです。
手動で TextChanged イベントを追加してやれば、numericUpDown コントロールのテキストボックス部分を直接編集している最中にテキストボックス部分の変化をとらえられるようになるため、一時的に空文字になっている状態を利用することが可能になります。
Form1.cs
public Form1()
{
InitializeComponent();
this.numericUpDown1.TextChanged += new System.EventHandler(this.numericUpDown1_TextChanged);
}
private void numericUpDown1_TextChanged(object sender, EventArgs e)
{
label1.Text = this.numericUpDown1.Value.ToString();
textBox1.Enabled = !string.IsNullOrEmpty(numericUpDown1.Text);
}
No.2
- 回答日時:
ありますよ、よく探してみてください
何も入力されていないというのであればnullを使ってください。
value == nullのような感じです。
あなたの条件式だと、0より下の数字、つまりマイナスの値の時の条件になってしまいます。
いま電車で思い出しながらやっているので、もしかしたらnull使えなかったかも...
試してみてください
No.1
- 回答日時:
①
TextChangedイベントを利用しましょう
名前の通り、テキストが変更された時に発生するイベントです。
②
値が何も入力されていないというのは、0の時ということですか?
テキストボックスいうのはもしかして、numericUpDownに付属しているやつのことを言っていますか?
ちょっと分かりづらいのでもう少し詳しく書いてください
回答ありがとうございます!
①numericUpDownのイベントにTextChangedがないのですが、、
②分かりづらくて申し訳ございません。
0ではなく、なにも入力されていない状態のことです。
テキストボックスは別のツールでnumericUpDownと連動させるものです。
numericUpDownが入力されていないときはTextBoxがEnabled(無効)になるというプログラムを作成したいです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) Excel 表の作成について 3 2022/06/16 12:15
- Visual Basic(VBA) 3つのプロシージャをまとめたら実行時エラー発生で対応不能 6 2022/05/17 01:47
- Excel(エクセル) ある数値に対して、値を返す数式についてです 2 2022/09/13 22:06
- Excel(エクセル) K14のセルにVlookup関数を使い IF(J14="","",VLOOKUP(J14,$B$4: 2 2023/05/17 20:26
- C言語・C++・C# 3つの倍精度浮動小数点値の平均を求めて、3つの引数全てを平均値に変更するメソッドを作成し、キーボード 1 2022/07/13 16:04
- Excel(エクセル) VLOOKUPで、検索先が3シートに分かれていて、番号の大小で検索するとエラーになります。 6 2023/07/14 19:09
- Excel(エクセル) エクセルで値ではなく関数を参照する方法 6 2023/03/19 00:50
- Visual Basic(VBA) Changeイベントで複数セルへの貼り付けおよび値削除時に1個目のセルのみエラーになる 3 2022/12/21 09:07
- Java javaでのプログラム(配列)について質問です. 2 2022/10/14 22:27
- Excel(エクセル) ExcelのIF関数について 4 2023/05/24 12:54
このQ&Aを見た人はこんなQ&Aも見ています
-
賃貸で可能な古民家風レトロな部屋作りのコツ!改めて知る畳の高い機能性と魅力も紹介
畳の部屋を雰囲気のよい部屋に仕上げたい!賃貸住宅でもできる古民家風のレトロな部屋作りのコツを伺った。
-
「指定されたキャストは有効ではありません。」とエラーが出てしまいます。
Microsoft ASP
-
CloseとDisposeの違い
Visual Basic(VBA)
-
C# ReadOnlyのTextBoxで
C言語・C++・C#
-
-
4
FORMが開いているかどうかの確認方法
Visual Basic(VBA)
-
5
C#にて別クラスの関数を使いたい
C言語・C++・C#
-
6
VB.NET DataGridView 縦スクロールバーを常に表示
Visual Basic(VBA)
-
7
VB2005テキストボックスへのコピペ制御についての質問です。
Visual Basic(VBA)
-
8
ボタンクリックイベント 重複防止について
C言語・C++・C#
-
9
C# アプリ終了時に設定を記憶し、起動時に呼び出す
Visual Basic(VBA)
-
10
インスタンス参照でアクセスできない。代わりに型名?
C言語・C++・C#
-
11
フルパスから最後のディレクトリ名を取得したい。
Visual Basic(VBA)
-
12
NumericUpDownコントロールに数字以外を入力したい
Visual Basic(VBA)
-
13
NumericUpDownの数値を選択済みにする方法
Visual Basic(VBA)
-
14
NumericUpDownコントロールでの表示書式
Visual Basic(VBA)
-
15
C#で角が丸いテキストボックス
その他(プログラミング・Web制作)
-
16
exeファイルの中身を見ることは可能ですか?
フリーソフト
-
17
別のフォームで記述している関数を実行するには?C#
C言語・C++・C#
-
18
C# TEXTが空白であるLABELは何処に???
C言語・C++・C#
-
19
なぜprotected overrideなのか
C言語・C++・C#
-
20
DateTimePickerでに年月までしか選択できないようにしたいです。
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
テキストボックスのvalueとtext...
-
マクロ 特定のセル値のみクリ...
-
pingを行うプログラム
-
VBA ドロップダウンリストを残...
-
VB.NETでコンボボックスの1行目...
-
【ASP.NET】 DataTextFieldの値...
-
シーケンサで最小値を保持する
-
Excel VBAのリストボックスの値...
-
VB初心者。小数点以下の表示で...
-
sin(π)が0にならないです
-
vb6のVSFlexGridで選択行、列の...
-
vbscriptを使いexcelを参照して...
-
[VB.net] DataGridViewのコンボ...
-
代入したのに値が更新されない...
-
DataTableに対するLINQについて
-
変数名の取得
-
C#の質問です
-
VBで電卓のメモリー機能はどの...
-
値を返さないコード パス
-
PL/SQLでのTO_DATEの時間取得に...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
テキストボックスのvalueとtext...
-
ハッシュテーブル(連想配列)が...
-
Excel VBAのリストボックスの値...
-
マクロ 特定のセル値のみクリ...
-
PysimpleGUIでデータベースを作る
-
VB.NETでコンボボックスの1行目...
-
変数名の取得
-
power BI クエリエディター 〇...
-
VB初心者。小数点以下の表示で...
-
PL/SQLでのTO_DATEの時間取得に...
-
【C++/CLI.NET】コンボボックス...
-
値を返さないコード パス
-
Powershellのparamについて
-
Excel VBA 複数選択したリスト...
-
DataTableに対するLINQについて
-
ユーザーフォームのテキストボ...
-
C# get set
-
変数に代入してある数値を表示...
-
VBAでWEB上の入力項目に値をい...
-
VB.NETでアクティブなformを知...
おすすめ情報