C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

ログ内検索
  • キーワードを複数指定する場合は 半角スペース で区切ってください。
  • 検索条件は、(AND)=[A かつ B] (OR)=[A または B] となっています。
  • [返信]をクリックすると返信ページへ移動します。
キーワード/ 検索条件 /
検索範囲/ 強調表示/ ON (自動リンクOFF)
結果表示件数/ 記事No検索/ ON
大文字と小文字を区別する

全過去ログを検索

<< 0 >>
■39034  OracleDataReaderで
□投稿者/ いこ -(2009/07/29(Wed) 16:43:43)

    分類:[C#] 

    OracleDataReaderで読み込んだデータをラベルに表示する処理をしたいのですが、
    ↓のようなコードを書いたらエラーが出ます。
    どうしたらよいでしょうか?

    private void Form1_Load(object sender, EventArgs e)
    {
    OracleConnection cnn = new OracleConnection();
    cnn.ConnectionString = "User Id=User Id; Password=Password; Data Source=Data Source";

    cnn.Open();

    String mySQL1 = "SQL文を入れる";
    OracleCommand myCmd1 = new OracleCommand(mySQL1);
    myCmd1.Connection = cnn;
    myCmd1.CommandType = CommandType.Text;
    OracleDataReader myRead = myCmd1.ExecuteReader();

    while (myRead.Read())
    {
    lblLast.Text = myRead.GetValue(0);
    }
親記事 /過去ログ67より / 関連記事表示
削除チェック/

■50184  Re[1]: TIFFファイルの圧縮形式を調べる
□投稿者/ Hongliang -(2010/05/30(Sun) 12:02:14)
    > どうしても現在のDPIだけは取得し調べることがわかりません。
    スレッドタイトルは「圧縮形式を調べる」ですが、ここを読む限り dpi の取得方法が分からないのでしょうか?

    dpi は Image オブジェクトの HorizontalResolution/VerticalResolution プロパティで取得できます。
    圧縮形式は、GetPropertyItem メソッドを使って TIFF の Compression タグの内容を取得することで確認できます。タグの ID などについてはこちらが参考になるでしょう。
    http://www.snap-tck.com/room03/c02/cg/cg05_03.html
記事No.50168 のレス /過去ログ84より / 関連記事表示
削除チェック/

■76732  Re[2]: HTML上から要素値の取得
□投稿者/ たくや -(2015/08/06(Thu) 18:30:15)
    No76731 (魔界の仮面弁士 さん) に返信
    > ■No76730 (たくや さん) に返信
    > もしもそれを JavaScript で取得したいという意味なら、
    >  var strUserID = document.getElementById('UserID').value;
    > で取得できそうです。


    無事先程上記の方法で確認しましたら取得できました。
    もともと「document.UserForm.UserID.value」で取得をしていたのですが手違いでデータが正しく取得できていなかっただけのようでした。
    ありがとうございました。
記事No.76730 のレス / END /過去ログ129より / 関連記事表示
削除チェック/

■83077  VB.NETでExcel図形のテキストボックスで編集する
□投稿者/ 大吉 -(2017/03/03(Fri) 18:55:52)

    分類:[VB.NET/VB2005 以降] 

    環境
    Windows7
    VisualStudio 2010
    Office pro 2010
    .net framework 4.5.2

    VB.NETのアプリからExcelを開いて
    Excel上の図形テキストボックスに値を入れたいと考えています。
    Cellには文字を入力出来るのですが、図形テキストボックスへの入れ方がわかりません。

    マクロでコードを作成して、それを参考にしても名前が見つからないというエラーになります。
    ご教授願います。
    宜しくお願い致します。
親記事 /過去ログ142より / 関連記事表示
削除チェック/

■88534  矢印キーで同時押しを有効にする
□投稿者/ 花畑 -(2018/09/05(Wed) 18:21:18)

    分類:[.NET 全般] 


    VB.NETを使っていて、矢印キーで操作したいと考えています。

    以下のコードで上下右左に関してはうまくいきました。
    あと、矢印キーを同時押しした時に斜め方向にも操作できるようにしたいのですが、

    Case Keys.Up Or Keys.Left

    とやってみても、うまくいきません。
    一体どのように改良すれば良いでしょうか?




    '矢印キーを無効化する
    Private Sub CursorMovementKeys(ByVal sender As Object, ByVal e As KeyEventArgs)

    Select Case e.KeyCode
    Case Keys.Up
    'コード
    e.Handled = True
    Case Keys.Left
    'コード
    e.Handled = True

    Case Keys.Up Or Keys.Left
    'コード
    e.Handled = True

    Case Keys.Right
    'コード
    e.Handled = True
    Case Keys.Down
    'コード
    e.Handled = True
    End Select
    End Sub

親記事 /過去ログ152より / 関連記事表示
削除チェック/

■88535  Re[1]: 矢印キーで同時押しを有効にする
□投稿者/ Hongliang -(2018/09/05(Wed) 18:42:13)
    修飾キー(Shift, Ctrl, Alt)以外の通常キー同士の同時押しを、
    WinFormはライブラリとしてはサポートしていません。
    Keys列挙体での通常キー同士のOrは不正な値になります。
    敢えて書くなら、次のようなコードになるでしょうか。
    
    ' 同時押し対象のキーが多いならDictionaryで管理する
    Dim m_Up As Boolean, m_Down As Boolean
    
    Sub Form1_KeyDown(...) As Me.KeyDown
      SetKeyState(e.Keycode, True)
      ' 以後、必要な処理
    End Sub
    
    Sub Form1_KeyUp(...) As Me.KeyUp
      SetKeyState(e.KeyCode, False)
    End Sub
    
    Sub SetKeyState(ByVal key As Keys, ByVal holding As Boolean)
      Select Case e.KeyCode
        Case Keys.Up
          Me.m_Up = holding
        Case Keys.Down
          Me.m_Down = holding
      End Select
    End Sub
    
    ちなみに、入力開始時点では、必ずどちらかのキーが先行します。
    例え完全に同じタイミングで2つのキーを押下したとしても、
    KeyDownは先にどちらかのキーで発生し、その後残りのキーで発生します。
記事No.88534 のレス /過去ログ152より / 関連記事表示
削除チェック/

■88536  Re[1]: 矢印キーで同時押しを有効にする
□投稿者/ 魔界の仮面弁士 -(2018/09/05(Wed) 19:15:55)
記事No.88534 のレス /過去ログ152より / 関連記事表示
削除チェック/

■88537  Re[2]: 矢印キーで同時押しを有効にする
□投稿者/ 花畑 -(2018/09/05(Wed) 19:38:19)
    ありがとうございます。

    もう一つ質問です。

    Shiftキーと通常キーの同時押しを検出するのに
    Me.KeyDownメソッドだと、

    If Control.ModifierKeys = Keys.Shift Then

    を使いますが、

    Protected Overrides Function ProcessDialogKey(ByVal keyData As Keys) As Boolean

    だとこの方法がうまくいかず、

    Case Keys.Shift Or Keys.Up

    を使う必要があります。

    一方で、逆にMe.KeyDownメソッドだと、

    Case Keys.Shift Or Keys.Up

    が使えません。

    同じ、Keysで宣言された変数なのになぜこのような違いがあるのでしょうか?




記事No.88534 のレス /過去ログ152より / 関連記事表示
削除チェック/

■88538  Re[3]: 矢印キーで同時押しを有効にする
□投稿者/ Hongliang -(2018/09/05(Wed) 20:11:57)
    > Protected Overrides Function ProcessDialogKey(ByVal keyData As Keys) As Boolean
    >
    > だとこの方法がうまくいかず、
    >
    > Case Keys.Shift Or Keys.Up
    >
    > を使う必要があります。

    はて、普通にModifierKeysでも取得できましたが。
    ご使用のOS、およびProcessDialogKeyをオーバーライドしている派生元のコントロールは何でしょうか(Form?)。

    > 一方で、逆にMe.KeyDownメソッドだと、
    >
    > Case Keys.Shift Or Keys.Up
    >
    > が使えません。

    e.KeyCodeを使用していませんか?
    e.KeyCodeは修飾キーを除いた通常キーのKeys値を返すプロパティです。
    修飾キーも含めたKeys値を取得したいのならe.KeyDataプロパティを使用します。
記事No.88534 のレス /過去ログ152より / 関連記事表示
削除チェック/

■88550  Re[4]: 矢印キーで同時押しを有効にする
□投稿者/ 花畑 -(2018/09/07(Fri) 12:06:38)

    > はて、普通にModifierKeysでも取得できましたが。
    > ご使用のOS、およびProcessDialogKeyをオーバーライドしている派生元のコントロールは何でしょうか(Form?)。



    再度、試してみましたが、やはりうまくいきませんでした。

    OSはWindows10です。

    オーバーライドしている派生元のコントロールとはどういうことですか?
    フォーム上に、

    Protected Overrides Function ProcessDialogKey(ByVal keyData As Keys) As Boolean
    End Function

    を書いているだけで、どこからも呼び出していません。


    If Control.ModifierKeys = Keys.Shift Then コード

    というところでは認識できているので、

    恐らく、ByVal keyData As Keysを修飾コードを除いたKeyCode形式に変換する必要があるのだと思います。
    どのようにすれば形式を変換できますでしょうか?
    CTypeを使ってもうまくいきませんでした。


記事No.88534 のレス /過去ログ152より / 関連記事表示
削除チェック/

■88553  Re[5]: 矢印キーで同時押しを有効にする
□投稿者/ 魔界の仮面弁士 -(2018/09/07(Fri) 13:00:49)
    2018/09/07(Fri) 13:34:47 編集(投稿者)

    No88550 (花畑 さん) に返信
    > オーバーライドしている派生元のコントロールとはどういうことですか?
    「Overrides Function」をどのクラスに記載しているか、ということです。


    > フォーム上に、
    > Protected Overrides Function ProcessDialogKey(ByVal keyData As Keys) As Boolean
    > End Function
    > を書いているだけで、どこからも呼び出していません。
    つまりこれは、System.Windows.Foms.Form クラスの ProcessDialogKey クラスを
    オーバーライドしている、ということになるわけです。


    ……ところで、上記のオーバーライド処理は本当に空っぽなのですか?
    本来であれば
     Return MyBase.ProcessDialogKey(keyData)
    という記述があったはずですが、転記頂いたコードには抜けているので、
    常に Return False されてしまうことになるような。


    コントロールを何も貼っていないフォームを用意して、

    Public Class Form1
     Protected Overrides Function ProcessDialogKey(keyData As Keys) As Boolean
      Debug.WriteLine(keyData.ToString())
      Return MyBase.ProcessDialogKey(keyData)
     End Function
    End Class

    とした場合、Shift や矢印キーの状態を記録できているか確認してみてください。


    > If Control.ModifierKeys = Keys.Shift Then コード
    キーボード入力系イベントの引数 e が「そのイベントが呼び出された時のキーの状態」を
    表しているのに対し、Control.ModifierKeys は「今現在の押下状態」という違いがあります。

    この Control.ModifierKeys というのは、「修飾キーが押されているかどうか」を
    調べるための GetKeyState API を呼び出すだけの処理です。
記事No.88534 のレス /過去ログ152より / 関連記事表示
削除チェック/

■88554  Re[6]: 矢印キーで同時押しを有効にする
□投稿者/ 花畑 -(2018/09/07(Fri) 13:07:28)
    すいません、空っぽなのは、コードを省略して記載したためです。

    Protected Overrides Function ProcessDialogKey(ByVal keyData As Keys) As Boolean

    のkeyDataは修飾子を含んだキー。

    Private Sub CursorMovementKeysDisable(ByVal sender As Object, ByVal e As KeyEventArgs)

    のe.KeyCodeは修飾子を含まないキー。
    を表すのだと思います。

    修飾子を含んだkeyDataから、修飾子に関する情報だけを削除して
    e.KeyCodeと同じフォーマットにするにはどのようにしたら良いですか?
記事No.88534 のレス /過去ログ152より / 関連記事表示
削除チェック/

■88555  Re[7]: 矢印キーで同時押しを有効にする
□投稿者/ Hongliang -(2018/09/07(Fri) 13:16:39)
    > 修飾子を含んだkeyDataから、修飾子に関する情報だけを削除して
    > e.KeyCodeと同じフォーマットにするにはどのようにしたら良いですか?

    Dim keyCode As Keys = keyData And Keys.KeyCode
記事No.88534 のレス /過去ログ152より / 関連記事表示
削除チェック/

■88556  Re[8]: 矢印キーで同時押しを有効にする
□投稿者/ 花畑 -(2018/09/07(Fri) 14:18:02)
    ありがとうございます。
    うまくいきました。

    Orだと二つのキーの足し算で
    Andが二つのキーの引き算になるのですね。

    何となく逆のような気がしますが。


    ところで、TabControlを選択した状態で矢印キーを押すと、隣のページに移る仕様になっていますが、
    これを無効化するにはどうしたら良いですか?

    TextBoxなどはKeyDownのところで、無効化するコードを書くとうまくいったのですが
    TabControlはうまくいきませんでした。

    よろしくお願いいたします。
記事No.88534 のレス /過去ログ152より / 関連記事表示
削除チェック/

■88557  Re[9]: 矢印キーで同時押しを有効にする
□投稿者/ moni -(2018/09/07(Fri) 14:36:13)
    > Orだと二つのキーの足し算で
    > Andが二つのキーの引き算になるのですね。
    >
    > 何となく逆のような気がしますが。

    違います。Orは単なる足し算ではないし、Andは引き算でもありません。
    ビット演算(ブール代数)を理解する必要があります。
記事No.88534 のレス /過去ログ152より / 関連記事表示
削除チェック/

■88577  Re[10]: 矢印キーで同時押しを有効にする
□投稿者/ 花畑 -(2018/09/08(Sat) 19:29:30)
    TabControlの矢印キー無効化のこともお聞きしたかったのですが、
    最初の質問からそれますので
    別で質問させていただきます。
    どうもありがとうございます。
記事No.88534 のレス / END /過去ログ152より / 関連記事表示
削除チェック/



<< 0 >>

パスワード/

- Child Tree -