- PR -

RadioButtonのスタイル

投稿者投稿内容
ちぇび
常連さん
会議室デビュー日: 2005/12/26
投稿数: 28
投稿日時: 2006-01-10 14:34
初歩的なことなんですが、
ヘルプ等探したのですがわかりませんので
教えてください。
.NET2003VBでの開発で、
RadioButtonコントロールを使いたいのですが、
チェックではなくて
ボタンの形で使いたいと思っています。
VB6の時は確かstyleというようなプロパティで
簡単に設定できたように思うのですが、
ASP.NETではどのようにしたらできますか??

すみませんがよろしくお願いします。
かるあ
ぬし
会議室デビュー日: 2003/11/16
投稿数: 1190
お住まい・勤務地: センガワ→ムサシノ
投稿日時: 2006-01-10 14:41
ASP.NET ではそういったものは用意されていません。
というか、HTML で表現できないものは使用できません。

JavaScript で OnKeyDown をひろって 画像を置き換えたりするのかな??
ちぇび
常連さん
会議室デビュー日: 2005/12/26
投稿数: 28
投稿日時: 2006-01-10 14:49
かるあさん、お返事ありがとうございます。
今やりたいのは、
画面上にはコードと名称の入力テキストがあり、
画面の下のほうにボタンが並べてあって
([登録][訂正][削除]という感じ)
その中のひとつが選択状態(ボタンが沈んだ状態)になっていて、
(たとえば起動時なら登録モード、という感じで
 同じく、訂正したい場合は訂正ボタンを選択状態にして
 コード、名前の入力を行って更新するというような。)
それによって処理を分ける、というようなことです。
(説明べたなんです・・すみません、伝わってますか?)
VB6のプログラムがもともとあるのですが、
できる限り似た形で作成したいと思っています。
他になにかボタン的なもので
どれかひとつのみ選択する、というようなことが
できるコントロールってないでしょうか??
背古井
常連さん
会議室デビュー日: 2004/04/02
投稿数: 39
投稿日時: 2006-01-10 15:35
ごく簡単にやりたいのであれば、ボタンの形にこだわらず、普通のRadio Buttonを使うほうが良いと思われますが、どうしても押す形のボタンにこだわりたいのであれば、
それぞれのボタンについて押す前の状態と押した後の状態の画像を用意しておいて、クリックイベントで切り替えるような処理になると思います。
まゆりん
ぬし
会議室デビュー日: 2002/08/12
投稿数: 539
お住まい・勤務地: よこはま
投稿日時: 2006-01-10 15:43
こんにちは、まゆりんです。

引用:

他になにかボタン的なもので
どれかひとつのみ選択する、というようなことが
できるコントロールってないでしょうか??


昔のラジカセのボタンみたいなものかな?
見たことないですねぇ。

参考までに、
私なら ImageButton で凸画像と凹画像を使い切り替えますが、
そういう機能は使いづらいし不要かなと個人的に思ってしまいます(^^;

ついでに気になった点を。
引用:

(たとえば起動時なら登録モード、という感じで
 同じく、訂正したい場合は訂正ボタンを選択状態にして
 コード、名前の入力を行って更新するというような。)


肝心の登録、更新のトリガもボタンなんですか?
元が VB6 のようですので、まさかテキストボックスに
フォーカスがある状態で Enter キー押下なんてことは・・・(^^;
_________________
まゆりん @ わんくま同盟
Blog る。
かるあ
ぬし
会議室デビュー日: 2003/11/16
投稿数: 1190
お住まい・勤務地: センガワ→ムサシノ
投稿日時: 2006-01-10 15:46
背古井 も提示されていますが
RaioButton や DropDownList を使うのが
一番良いと思います。

JavaScript はこんな感じかなぁ
コード:
  function StatusChange(obj) {
    var hStatus = document.getElementById("status");
    hStatus.value = obj.value;

    var i = 0;
    while ((ctl = document.getElementById("img" + i)) != null) {
      if (hStatus.value == ctl.value) {
        ctl.src = "選択中の画像.gif";
      } else {
        ctl.src = "未選択の画像.gif";
      }
      i++;
    }
    
    return false;
  }



フォームのほうはこんな感じ
コード:
    <form name="Form1" mehtod="Post">
      <input type="image" id="img0" value="0" src="未選択の画像.gif" OnClick="return StatusChange(this)" />
      <input type="image" id="img1" value="1" src="未選択の画像.gif" OnClick="return StatusChange(this)" />
      <input type="image" id="img2" value="2" src="未選択の画像.gif" OnClick="return StatusChange(this)" />
      <br>
      <input type="button" value="更新" OnClick="EditClick()" />
      <input type="hidden" id="status" />
    </form>

ちぇび
常連さん
会議室デビュー日: 2005/12/26
投稿数: 28
投稿日時: 2006-01-10 16:04
背古井さん、まゆりんさん、かるあさん、
お返事ありがとうございます。m(__)m
わかりやすく書いていただいて
とても参考になりました。

ありがとうございましたv(^-^*)
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2006-01-10 16:05
何とか説得して、標準の RadioButton を使おうに 1 票です。
移行するのであれば、アクセシビリティを考慮して郷に従うべきだと思います。

やるならば、ImageButton でしょうけど、毎回全部を舐める必要があるので、何かと面倒でしょうね。

 スペースなどの対応もしなくてはいけませんし...

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌

スキルアップ/キャリアアップ(JOB@IT)