VB.net 2010での質問です。
ど素人なので、的はずれでしたらお許しください。

あるラジオボタンを選択した際に、DateTimePickerを非活性(グレーアウト)
したいと考えております。

ラジオボタン選択のアクションで、
DateTimePicker(実際は別名).Enable = False
としているのですが、反応がありません。。。

デバッグ実行でも通過は確認しているのですが、
画面に反映されていません。

DateTimePickerのプロパティEnableをFalseにするとたしかに非活性となります。

方法が間違っていますでしょうか?

A 回答 (1件)

Enable ではなく Enabled が正しいプロパティ名ですが、エラーにはなってませんか?


(掲載時のミス?)

「ラジオボタンの選択アクション」って具体的に何というイベントのことでしょうか?
( Click とか、CheckedChanged とか )

テスト用に Button を一つ貼り付けて、そのボタンのクリックイベントで

Enabled = False

にするとどうなりますか?

どこか別のイベントで Enabled = True にしてるんじゃないかと推測しているのですが、
そっちのイベントが発生してるということはありませんか?
    • good
    • 0
この回答へのお礼

CheckedChanged にしたらできました。
ありがとうございました。

お礼日時:2011/04/20 22:14

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

QTextBoxに半角数字のみの入力しかできないようにしたい

タイトルどおりです。
フォームに貼り付けた、TextBoxに、半角数字のみしか入力できないようにしたいです。
000000~999999までのコード(数字)を入力させるようにするわけですが、そのままだと半角英数も全角も入力できてしまいます。

GrapeCity社製のカスタムコントロール「InputMan」の“Number”を用いると簡単なのですが、これだとカーソルがボックス内の右端にきて、一の位から入力が始まってしまいます。
数字は、ボックス内の左側から入力されていくようにしたいのですが、“Number”だとなんか出来なさそう・・・?
(“Number”で左側から入力できるならそれがいいのですが)

そこで、TextBoxを使うことにしたのですが、TextBoxだと、半角数字のみしか入力できないような制限がかけるのかが、わかりません。

もし、お分かりの方がいらっしゃいましたら、ご教授下さいませ。

Aベストアンサー

コピペですみません。
VB6だと、

Private Sub TextBox_KeyPress(KeyAscii As Integer)
Select Case KeyAscii
Case vbKeyBack, Asc("0") To Asc("9"), Asc("-"), Asc(".")
Case &H1 ' Ctrl + A
TextBox.SelStart = 0
TextBox.SelLength = Len(TextBox.Text)
Case &H3 ' Ctrl + C
Case &H16 ' Ctrl + V
Case &H18 ' Ctrl + X
Case &H1A ' Ctrl + Z
Case Else
KeyAscii = 0
End Select
End Sub

で、いかがでしょうか。

コピペですみません。
VB6だと、

Private Sub TextBox_KeyPress(KeyAscii As Integer)
Select Case KeyAscii
Case vbKeyBack, Asc("0") To Asc("9"), Asc("-"), Asc(".")
Case &H1 ' Ctrl + A
TextBox.SelStart = 0
TextBox.SelLength = Len(TextBox.Text)
Case &H3 ' Ctrl + C
Case &H16 ...続きを読む

QVB2005 DateTimePickerのカレンダー表示制御

お世話になります。
現在、DataGridViewの制御に合わせてカレンダーを表示したりしようと
しているのですが、MonthCalendarだと日付「範囲」が選択できて
しまうようなので、あまり嬉しくない状況です。
そこで、DateTimePickerを使用して、ロジックで強制的にカレンダーを
表示したり非表示にしたりしたいと思っています。
表示の方は、ググってみたら何とか検索できたので、それを基に
やってみたら成功したのですが、カレンダーを閉じる方の処理が
うまくいきません。
コントロール(サブクラス)側でEscapeキーをWndProcで送ったり
してみたのですが……
正しいやり方をご存知の方がいらっしゃいましたら、お教えください。
または、MonthCalendarで単一日付のみを選択する方法を教えて頂くのでも
構いません。
よろしくお願いします。

Aベストアンサー

>MonthCalendarだと日付「範囲」が選択できてしまうようなので、

MaxSelectionCount = 1 では?

(VisualBasic2005 ExpressEditionです)

QDataGridViewで指定したセルの値を取得

こんにちは。

VB2008のDataGridViewで指定したセルの値を取得をする方法がわかりません。
どなたか教えてください。

Aベストアンサー

こんばんは.

 Dim Data As String
 Data = Me.DataGridView(0, 2).Value
 MsgBox(Data)

みたいな感じで取れないですかね???

QDateTimePickerに値を入れたいのですが…

VB2005環境です。
DateTimePickerコントロールに値を入れたいのですが、
うまくいきません。

コードとしては、下記のような記述をしました。

DateTimePicker.Value = CDate(Format(Me.fg.Item(Me.fg.Row, 2).ToString, "0000/00"))

FlexGrid(FlexGrid.Net)から取得した値を0000/00の形に
直そうとしたのですが…。
((Me.fg.Item(Me.fg.Row, 2).ToStringをウォッチしてみますと、
String型で200707と値が入っています)。

代入の方法をご教授いただけないでしょうか?
よろしくお願いします。

Aベストアンサー

VB.NETのFormatに与える第一引数を文字列にしているためFormat関数が"0000/00"を返して エラーになっているのではありませんか

LongやSingleなどに グリッドのデータを変換してからFormatに与えましょう
dim nDummy as Long
dim dt as date
nDummy = long.Parse(Me.fg.Item(Me.fg.Row, 2).ToString)
dt = CDate( Format(nDummy, "0000/00" ) )
DateToimePicker.value = dt

といった具合です

QSELECTで1件のみ取得するには?

こんにちわ。
いまORACLE9iを使用している者です。

ACCESSでは
SELECT TOP 1 項目名 FROM テーブル名
ORDER BY 項目名;
で並べ替えたデータ群のうち,先頭の1件だけを
取ることができますが,
ORACLEでそのような機能(SQL)はあるでしょうか?
教えてください。
よろしくお願いします。

Aベストアンサー

order by と rownum を併用する場合は注意が必要です。

[tbl01]
cola | colb
------------
1000 | aaaa
1001 | bbbb

というデータがある場合、
select cola from tbl01 where rownum < 1 order by cola desc;
とすると、「1001」ではなく、「1000」が返されます。
これは、order by の前に rownum < 1 が適用されてしまうからです。

解決するには、
select aaa from (select cola aaa from tbl01 order by cola desc) where rownum = 1;
とすれば良いです。

QDataTableから条件を満たした行を別のDatatableへコピーしたい

VC#2005とSQLServer2005ExpressEditionでWindowsアプリケーションを作成しています。

データベースの中から1つのマスタテーブルのデータを呼び出すのにTableAdapterを使ってDataTableにデータをバインドしました。
そこから条件を満たしている行をすべて抽出して同じ型のDataTableにデータをコピーしたいのです。

ですから、DataTableは2つ用意しています。1つは上記の通りデータをバインドしていますが、もう1つは宣言しただけなのでまだ空っぽの状態です。
DataTableにはカラムが3列あり、その中の1列をグループIDとしています。
条件としてはグループIDが同じであるということです。
やりたいことは条件を満たしている行をすべて抽出して空のデータテーブルにコピーすることです。

どなたかご存知の方いらっしゃれば教えてください。
よろしくお願いします。

Aベストアンサー

C#だったんですね … さほど変わりないと思いますが

お使いのコードが提示されていないのでこちらで適当な変数をでっち上げております
現在お使いのコードを支障の無い範囲で提示しましょう

//元のデータテーブルがdtSourceとすると
// テーブル構造をコピー
DataTable dt = dtSource.Clone();
DataRow r = null;
foreach( DataRow dtRow in dtSource.Select("選択するための文字列"))
{
  r = dt.NewRow();
  for( int n = 0; n < dtRow.ItemArray.Length; n++ )
  {
    r[n] = dtRow[n];
  }
  dt.Rows.Add( r );
}
といった具合になると思います

# 前回の投稿中のstSorceはdtSourceの単なるミスです

QComboBoxの初期表示値

当方、VB.NETでwindowsMoblie5.0の開発をしております。

そこでComboBoxを使うのですが起動した際の初期表示の値を決めるにはどうすれば良いのですか?
初歩的な質問で申し訳ありませんがご教授のほどよろしくお願い申し上げます。

Aベストアンサー

> そこでComboBoxを使うのですが起動した際の初期表示の値を決める
> にはどうすれば良いのですか?
これを決めるのは『あなた』ですが ・・・

設定したItemsコレクションの中から選択したいのであれば
SelectedIndexにItemsコレクションの項目のインデックス番号を設定します

『選択してください』Itemsコレクションと無関係な文字列を表示してほしいならTextプロパティでしょう
ただしComboBoxStyleがDropDownList以外の場合に限ります

Q日付型のフィールドに空白を入れる方法を教えてください

ASP(VBScript)でSQLサーバにINSET INTO文を使ってデータを格納しているのですが、日付の部分がNULLの時、「1900/1/1」が入ってしまいます。
そのまま、空白を入れる方法はどうやったらよろしいのでしょうか?

TABLE1の内容は
番号|内容|日付です。

INSERT INTO TABLE1 VALUES ( 1, 'あいう', '')

結果
1|あいう|1900/1/1

Aベストアンサー

あとは、プログラムの書き方次第ですね、、、


If hensu=Null Or hensu="" Then
dt = "NULL"
Else
dt = "'" & hensu & "'"
End IF

E_SQL = "INSERT INTO TABLE1 VALUES & _
"( 1,'あいう', " & dt& ")"
の様に書きます。

QVB.NETのDataGridで、選択行の特定の列の内容を取得したい

タイトルにあるとおり、DataGridを使用している場合、実行時に選択された行の特定の列の内容を取得するにはどのようにすればよいのでしょうか?

DataGridは複雑で、まだよくわかっていません。
よろしくお願いします。

Aベストアンサー

選択している行番号は、dataGrid1.CurrentRowIndexでわかります。
行、列を指定して各セルにアクセスするには、
dataGrid1(行番号,列番号)でいいので
dataGrid1(dataGrid1.CurrentRowIndex,列番号)
で選択されている行の特定の列の内容を取得できます。
註:番号は、0始まり

QGROUP BYを行った後に結合したい。

oracle8iを使用しています。
2つのテーブルを結合したいと思っていますが、
テーブル構成が、N対Nのテーブルのため、
片方をグループ化したあとに結合させようと思っています。

ところが、単純にGroup byを使うと、結合した後に
グループ化してしまうために、期待した値がひょうじされません。

なんとか、1回のSQLで正しく情報をとることはできないものでしょうか。

Aベストアンサー

>テーブル構成が、N対Nのテーブルのため、
>片方をグループ化したあとに結合させようと思っています。

多分こんな形ではどうですか?

SELECT A.KEY,B.KEY,
FROM TABLE_A A
,(SELECT KEY FROM TABLE_B
GROUP BY KEY) B
WHERE A.KEY=B.KEY;

要はFROM句にテーブル名ではなく、SELECT~GROUP BYを書く。


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング

おすすめ情報