• ベストアンサー

ASP.NET TextBox 入力制限

ASP.NETでテキストボックス内のIMEのモードを ひとつは全角カナ、ひとつは半角英数のような感じで プログラムで制御する方法を教えてください。

  • aki05
  • お礼率39% (9/23)

質問者が選んだベストアンサー

  • ベストアンサー
  • tkrn
  • ベストアンサー率53% (33/62)
回答No.4

こちらこそ言葉足らずだったでしょうか。 今までの回答は全て、Webフォーム(ASP.NET)での回答をしていますよ。 WindowsForm(Form1.vb)の話ではありません。 下記は、Webフォーム(ASP.NET)でのTextBox1(HTML上はINPUTタグ)にIME-MODEをオン、 TextBox2(HTML上はINPUTタグ)にIME-MODEを不可にした場合の方法です。 1).aspxファイルのデザインにてTextBox1、TextBox2を配置します。 2).aspx.vbファイルにページロードイベントにて下記のコードを記述すれば、IMEの制御が設定されます。 Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load TextBox1.Style.Add("ime-mode", "active") TextBox2.Style.Add("ime-mode", "disabled ") End Sub それが今までの回答です。 もしかして想定しているイメージと異なるのでしょうか? サーバーサイドでのコーディングをせずに行いたいと言うことでしょうか? であれば、スタイルシートで制御させます。 1).aspxファイル内に書きのスタイルシートタグを埋め込みます。 <style type="text/css"> <!-- .ime-mode-active { ime-mode:active; } .ime-mode-disabled { ime-mode: disabled; } --> </style> 2). TextBox1のCssClassプロパティに"ime-mode-active"を設定します。 TextBox2のCssClassプロパティに"ime-mode-disabled"を設定します。 回答になっていますでしょうか?

aki05
質問者

お礼

ご回答有難う御座います!! 見事に思ったとおりに出来ました。 なにぶん初心者でして、書き込む場所を間違えておりました。 ページロードイベントに入れればよかったんですね・・。 情けない・・・。 本当に親切に最後まで有難う御座いました!

その他の回答 (3)

  • tkrn
  • ベストアンサー率53% (33/62)
回答No.3

> この方法はVBでしたので出来ませんでた。 > ASP.NETでの方法を探しております。 上記内容ですと、言葉の意味を間違えられておられるようですので説明します。 ASP.NETはアーキテクチャであり言語はありません。 VB.NETもASP.NETの1つです。 VB.NETでないということは、C#と言うことでしょうか? C#であれば、最後にセミコロンが付くだけの違いです。 TextBox1.Style.Add("ime-mode", "active"); TextBox2.Style.Add("ime-mode", "disabled ");

aki05
質問者

お礼

Windows Webです。

aki05
質問者

補足

こちらの説明不足、及び理解不足の為 せっかく回答頂いているにも関わらず ご迷惑をおかけして申し訳御座いません。 私が知りたいのは Windowsの方で→aspx.vb の方で Form1.vb の方ではないのです。 説明ベタでスミマセ・・・。

  • tkrn
  • ベストアンサー率53% (33/62)
回答No.2

#1です。 回答が不十分でしたので補足します。 > 全角カナ WebではWindowsFormのような細かなIME制御はできませんので「全角カナ」にする事ができません。 ANo1の回答の参考URLにある様に4つのモードの切り替えしか行えません。

  • tkrn
  • ベストアンサー率53% (33/62)
回答No.1

IMEのモードの制御でよいでしょうか? VB.NET2005の場合の記述方法です。 Textbox1.Style.Add("ime-mode", "active") Textbox2.Style.Add("ime-mode", "disabled ")

参考URL:
http://www.htmq.com/style/ime-mode.shtml
aki05
質問者

お礼

ご回答有難う御座いました。 この方法はVBでしたので出来ませんでた。 ASP.NETでの方法を探しております。 こちらもVBの際には参考にさせて頂きます。

関連するQ&A

  • テキストボックスの入力制限

     VB6の画面入力でテキストボックスにフォーカスが移った際、半角カナや全角漢字、半角アルファベット大文字と云ったキーボードからの入力を制御したい(OSはWinXp/FEPはIME2002を使用)のですが、良い方法が有れば教えてください。

  • VB.NET2003 テキストボックスに半角英数字以外入力させない

    お世話になります。 初めてコーディングを行っておりますが、 文字制御についてわからないのでご享受ください。 IMEの設定 Alphaになっているテキストボックスがあります。 こちらに、直接入力や、貼り付けなどで、 全角文字、半角カナが入力されないようにするにはどうしたらよろしいでしょうか? よろしくお願いします。

  • IMEでの入力切替についての質問です。

    Microsoft IMEスタンダードで、日本語入力モードをキーボードで切り替える操作について、質問させて頂きます。 私は日本語入力は「かな入力」で、初期入力モードは「ひらがな」にして使っています。直接入力から初期入力モードに切り替えるのは、alt+半角/全角キーを使い、初期入力モードの「全角かな入力」から「全角英数入力」に切り替える際は、キーボード左端の英数キーを押して切り替えていました。 ところが、突然、「全角かな入力」状態で英数キーを押すと、「全角英数入力」ではなく、「半角英数入力」になるようになってしまいました。きっと知らないうちに何らかのキー操作をしてしまったのではないかと思っています。他にも「全角英数入力」に切り替える方法はあるので、それを使えばいいのですが、原因が分からないのはすっきりしませんし、慣れてしまっているので、できれば元に戻したいと思っています。 くだらない質問で大変恐縮ですが、どなたかお教え戴けないでしょうか。どうぞよろしくお願い致します。

  • IME2003 英数・かな入力 切り替え不能

     IME2003で 英数・かな入力 切り替を「半角・全角」キーでやっていましたが、「半角・全角」キーを押下しても「かな」が入力出来ず、英数入力のままです。  タスクバーでIMEの設定ボタンを押下し、「テキストサービス と 入力言語」設定画面で「OK」すると正常に「半角・全角」キーで切り替えが出来るようになります。  しかし、しばらく使っていると再度、同様な現象が再現してしまいます。

  • Microsoft IMEで全角英数入力

    Win10環境でMicrosoft IMEを使用しています。入力方式はかな入力です。 全角ひらがなモードの時に「カタカナ・ひらがな・ローマ字」キーを押すと半角英数になりますが、全角英数に変わるようにするにはどうすればいいですか? 「?」文字などを入力するときに全角英数にする必要があります。

  • ACCESS2003で自動で全角入力になる

    ググっても、ソレらしいのがヒットしなかったので質問させてください Access2003(VBA)で開発を行っています。 PCをWindows7に変えてから、どんな操作をしたか不明だが、 半角英数入力固定(IMEモードなし)に設定されているテキストボックスが 自動で全角入力になってしまう現象が起きています。 上記現象は、複数のお客様で起きているのですが、当方のWindows7では全く再現性がない。 半角/全角キーを押下しているのではと考えたが、そうではないようです。 Accessのバグなのでしょうか? XPの時は、起きてなかったし、プログラムを見ても、バグっているようにはみえないので、 プログラムが原因とは思えないのですが、 何かヒントがございましたら教えてください。

  • VBでローマ字入力とかな入力を使い分けたい時どうすれば??

    VisualBasic6.0を使って、 フォームの上にテキストボックスをふたつ 作ったプロジェクトを新規で作成します。 今、IMEの文字入力方式はローマ字方式を 使っているとします。今半角カナ入力状態に なっているとします。 その状態で、そのテキストボックスの上で Aを3回押すと半角カナでアアアとでます。 テキストボックス上で ALT + ひらがな を押して、かな入力に切り替えます。 そのテキストボックス上でAを3回押すと 半角英数字でaaaと出ます。 もうひとつのテキストボックスをクリックして そっちに移動してから、もとのテキストボックスに 移動します。 そこで、Aを3回押すと半角カナでチチチと出ます。 こういう手順を踏まないとひとつのテキストボックス上 でかな入力とローマ字入力を変えることができないですが 何か方法はないのでしょうか?それともこれは昔から どうしようもないことなのでしょうか? それは、この教えてGOOの質問のタイトルと 質問の内容のテキストボックスでも同じ事が 言えると思います。 普段はローマ字入力で、ある半角カナで入力したい テキストボックスにきた時だけ、何かをして かな入力に変更したいのですが、どうすればよいでしょう? 今、フォームを全画面表示していて IMEツールバーはタスクバーにしまったままにしてお きたいので、IMEツールバー上から変更するという 方法は使えないです。 どなたか親切な方回答お願いしますっ・・・。 また、ちなみにプログラム上から変えることって できるのでしょうか?やるつもりはないですが 一応聞いてみたいです。

  • 開発環境C#:テキストボックスフォーカス時、かな入力モードにしたい

    開発環境はC#(.NET)です。 テキストボックスにカーソルがフォーカスした時、 IMEモードを、かな入力や半角カタカナ入力、 また英数半角入力に自動的に切り替えしたいのですが、 どなたか、ご存じの方、どうかご教授下さいませ。 よろしくお願い致します。

  • 入力モードの変更

    JAVASCRIPTでテキストボックスにフォーカスがあたったときにIMEの設定を変更する(全角モードにする)ということは可能でしょうか? また、半角モードにするということも可能でしょうか? もし、おわかりの方ご教授ください。 よろしくお願いいたします。

  • エクセルVBAでIME入力モードの制御

    エクセルVBAでIME入力モードの制御について教えてください。 Sub IMEの現在の状態() 状態 = IMEStatus() MsgBox 状態 & "です", vbInformation, "IMEの現在の状態" End Sub これでIMEStatus関数の戻り値が 1 オンの状態 2 オフの状態 4 全角ひらがな入力モード 5 全角カタカナ入力モード 6 半角カタカナ入力モード 7 全角英数入力モード 8 半角英数入力モード であることがわかりましたが、逆にIMEの状態を設定するにはどのように記述すればいいのでしょうか? たとえば、Sheets("AAA").Range("B1:B20")は「半角英数入力モード」にする場合。 DialogSheets("GGG")のダイアローグを呼び出したとき、その中のEditboxes("HHH")には「全角ひらがな入力モード」。 などです。 よろしくお願いします。

専門家に質問してみよう