質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Windows Forms

Windows Forms(WinForms)はMicrosoft .NET フレームワークに含まれる視覚的なアプリケーションのプログラミングインターフェイス(API)です。WinFormsは管理されているコードの既存のWindowsのAPIをラップすることで元のMicrosoft Windowsのインターフェイスのエレメントにアクセスすることができます。

Q&A

解決済

2回答

666閲覧

TextBoxにカード番号を4文字ごとにスペースを入れて表示する方法

glindlife13

総合スコア3

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Windows Forms

Windows Forms(WinForms)はMicrosoft .NET フレームワークに含まれる視覚的なアプリケーションのプログラミングインターフェイス(API)です。WinFormsは管理されているコードの既存のWindowsのAPIをラップすることで元のMicrosoft Windowsのインターフェイスのエレメントにアクセスすることができます。

0グッド

0クリップ

投稿2022/03/10 04:36

編集2022/03/10 04:40

前提・実現したいこと

C#でWindowsフォームアプリを作っています。

画面中のTextBoxに数値(クレジットカード番号)を入力したら、
フォーカスが外れたタイミングで、4桁ごとに半角スペースを入れて表示したいのです。

例えば、以下のようなイメージです。

「1234567812345678」と入力したら
「1234 5678 1234 5678」と表示したい

「123456」と入力したら
「1234 56」と表示したい

なお、カード番号を保持する変数があり、
DataBindingでTextBoxと連動させている感じで実装をしています。

試したこと

似たようなものとして、フォームアプリ内に、金額入力するTextBoxがありまして、
金額を3桁でカンマ区切りで表示する必要がありまして、
そちらはDataBindingのカスタム書式で、カンマ区切りにはできたのですが、

クレジットカード番号のように、文字列を先頭から4桁ごとに半角スペースで
区切って表示するということができず、困っております。

解決方法や参考情報をご存じの方がいらっしゃいましたら
教えていただけると助かります。

よろしくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

投稿2022/03/10 05:43

KOZ6.0

総合スコア2626

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

glindlife13

2022/03/10 06:05

コメントありがとうございます いま、MaskedTextBoxを使って試してみました。 Maskプロパティにスペース有で設定してみたら、4文字区切りで表示させることができました。 また1つ勉強になりました。ありがとうございます。
guest

0

ベストアンサー

TextBox のValidatedイベントで文字列を分割する処理を入れればいいかと

投稿2022/03/10 04:44

y_waiwai

総合スコア87774

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

glindlife13

2022/03/10 05:24

コメントありがとうございます。 教えていただいたValidatedイベントをハンドルして文字列分割したら、できました! 神です。ありがとうございました m(_ _)m
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問