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

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

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

全過去ログを検索

<< 0 >>
■7228  Re[4]: テーブル情報取得方法
□投稿者/ きょろ -(2007/09/01(Sat) 16:59:05)
    すみません、訂正です。
    > それなら、昔一度だけお世話になったような気がするフリーソフトをご紹介します。
    > Common SQL Environment

    私が使用したのは数千円程度のシェアウェアでした。CSEは使ったことがないようです。

    No7219 (魔界の仮面弁士さん) に返信

    > システム ストアド プロシージャで取得できますね。
    > sp_tables とか sp_columns とか sp_pkeys とか sp_fkeys とか。

    SQLさん、こちらに情報がありました。
    ストアド プロシージャ カタログ
    http://technet.microsoft.com/ja-jp/library/ms182764.aspx

    > # あまりお薦めはしませんが、システム テーブル (sysobjects, syscolumns 等)から取得する方法もあり。

    この方法しか知りませんでした(笑)しかも、お薦めではないんですね。
    取得情報の多くが「SQL Server の内部使用専用に予約されています。将来の互換性は保証されません。」のためでしょうか?
    http://technet.microsoft.com/ja-jp/library/ms177596.aspx

    No7220 (ちゃっぴさん) に返信

    > SQLDMO を使う方法も。

    こんな便利なコンポーネントがあるとは!
    http://support.microsoft.com/default.aspx/kb/287737/ja
記事No.7210 のレス /過去ログ18より / 関連記事表示
削除チェック/

■34654  Re[2]: ループでpictureBoxを作成
□投稿者/ マジンガー -(2009/04/05(Sun) 01:42:05)
    早速ありがとうございました。
    エラーがなくなりました。
    が、次のようにフォルダとファイルを指定して起動すると、ファイルは読み込まれず、単に空のフォームが動くだけです。
    どこが抜けているのか、アドバイスいただけないでしょうか。
    
    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Windows.Forms;
    using System.IO;
    
    namespace WindowsFormsApplication1
    {
        public partial class Form1 : Form
        {
            PictureBox[] pictureBox;
    
            public Form1()
            {
                InitializeComponent();
            }
    
            private void Form1_Load(object sender, EventArgs e)
            {
                pictureBox = new PictureBox[10];
                string imageDir = @"c:\tmp";
                string[] files = Directory.GetFiles(imageDir, "*.jpg");
                for (int i = 0; i < 10; i++)
                {
                    //MessageBox.Show(files[i]);
                    this.pictureBox[i] = new System.Windows.Forms.PictureBox();
                    ((System.ComponentModel.ISupportInitialize)(this.pictureBox[i])).BeginInit();
                    this.pictureBox[i].Location = new System.Drawing.Point(33 + i * 10, 36 + i * 10);
                    this.pictureBox[i].Name = "pictureBox[i]";
                    this.pictureBox[i].Size = new System.Drawing.Size(200, 200);
                    this.pictureBox[i].TabIndex = 0;
                    this.pictureBox[i].TabStop = false;
                    this.pictureBox[i].Image = Bitmap.FromFile(files[i]);
    
    
                }
            }
        }
    }
    
記事No.34652 のレス /過去ログ60より / 関連記事表示
削除チェック/

■67935  Re[3]: SendKeys.Sendメソッドについて
□投稿者/ なお -(2013/09/11(Wed) 10:36:05)
    2013/09/11(Wed) 10:50:32 編集(投稿者)

    daive-san,kiku-san

    ご回答有難う御座いました。内容は理解致しました。
    対処としてAPP2のWindowハンドルを取得して、Postmessageにてキー入力を試みようと思います。
    詳細は割愛しますが、Bまでは問題なく目的のWindowハンドルを取得出来ました。(hWndWorkPtr)
    しかし、PostMessageの第1引数にそのハンドルが格納されません。何故でしょうか?
    因みに目的のWindowハンドルはtoolstripsでその中のボタン(F8実行)を実行しようとしています。

    private const int VK_F5 = 0x74;
    private const int WM_KEYDOWN = 0x100;
    --------------------------------------------------------------------------------------
    @ hWndWorkPtr = GetWindow(hWndWorkPtr, GW_CHILD); // 子ウインドウ //
    A hWndWorkPtr = GetWindow(hWndWorkPtr, GW_HWNDNEXT); // 2番目孫ウインドウ //
    B hWndWorkPtr = GetWindow(hWndWorkPtr, GW_CHILD); // 1番目孫ウインドウ //

    C PostMessage(hWndWorkPtr, WM_KEYDOWN, VK_F5, 0);

    お手数おかけ致しますが、ご確認のほど宜しくお願い致します。
記事No.67915 のレス /過去ログ115より / 関連記事表示
削除チェック/

■88633  DataGridViewの不正値チェック
□投稿者/ まっさん -(2018/09/12(Wed) 13:43:46)

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

    環境:VB2010 Windowsフォームアプリ

    以下のような事を実現したいのですが、
    (1)DataGridViewにユーザーが不正な値を入力した場合はエラーアイコンを表示
    (2)セルの値が不正でなくなったら、エラーアイコンを消去

    DataErrorをハンドリングして以下のようなコードで実験してみましたが、
    もう一工夫したい点がいくつかあります。
    (下記コードでDataGridViewのC1列にInteger以外を入力した場合の話です。)

    (a)ESCキー押下で入力をキャンセルした場合、エラーアイコンが消えない。
    (b)不正な値を入力してEnterキー押下で不正文字を選択状態にしたい。
    (c)エラーアイコンを行ヘッダに表示しているが、できればセルに表示したい。

    (c)は無理っぽい感じがしますが、上記を実現するにはどうすればいいでしょうか?

    ’-----------------------以下、実験コード-----------------------
    Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
    Dim dt As New DataTable
    dt.Columns.Add("C1", GetType(Integer))
    dt.Rows.Add(1)
    dt.AcceptChanges()
    DataGridView1.DataSource = dt
    End Sub
    Private Sub DataGridView1_DataError(sender As Object, e As System.Windows.Forms.DataGridViewDataErrorEventArgs) Handles DataGridView1.DataError
    DataGridView1.Rows(e.RowIndex).ErrorText = "セルの値を確認してください。"
    e.Cancel = True
    End Sub
    Private Sub DataGridView1_CellValidating(sender As Object, e As System.Windows.Forms.DataGridViewCellValidatingEventArgs) Handles DataGridView1.CellValidating
    If DataGridView1.Rows(e.RowIndex).ErrorText IsNot String.Empty Then
    DataGridView1.Rows(e.RowIndex).ErrorText = String.Empty
    End If
    End Sub
親記事 /過去ログ152より / 関連記事表示
削除チェック/

■88637  Re[1]: DataGridViewの不正値チェック
□投稿者/ まっさん -(2018/09/12(Wed) 20:21:59)
    No88633 (まっさん さん) に返信
    
    すみません。↑は間違って投稿してしまいました。
    (c)以外は以下で、一応希望通りに動作しているように思います。
    
        '編集中セルの行番号、列番号、EditingControl
        Private _textbox As Tuple(Of Integer, Integer, DataGridViewTextBoxEditingControl)
        Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
            Dim dt As New DataTable
            dt.Columns.Add("C1", GetType(Integer))
            dt.Rows.Add(1)
            dt.AcceptChanges()
            DataGridView1.DataSource = dt
        End Sub
    
        Private Sub DataGridView1_DataError(sender As Object, e As System.Windows.Forms.DataGridViewDataErrorEventArgs) Handles DataGridView1.DataError
            DataGridView1.Rows(e.RowIndex).ErrorText = "セルの値を確認してください。"
            '念の為、行番号、列番号も照合する
            If _textbox IsNot Nothing AndAlso _textbox.Item1 = e.RowIndex AndAlso _textbox.Item2 = e.ColumnIndex Then
                _textbox.Item3.SelectAll()
            End If
            e.Cancel = True
        End Sub
        Private Sub DataGridView1_CellValidating(sender As Object, e As System.Windows.Forms.DataGridViewCellValidatingEventArgs) Handles DataGridView1.CellValidating
            If DataGridView1.Rows(e.RowIndex).ErrorText IsNot String.Empty Then
                DataGridView1.Rows(e.RowIndex).ErrorText = String.Empty
            End If
        End Sub
        Private Sub DataGridView1_EditingControlShowing(ByVal sender As Object, _
            ByVal e As DataGridViewEditingControlShowingEventArgs) _
            Handles DataGridView1.EditingControlShowing
            If TypeOf e.Control Is DataGridViewTextBoxEditingControl Then
                Dim tbox = DirectCast(e.Control, DataGridViewTextBoxEditingControl)
                Dim cell = DataGridView1.CurrentCell
                _textbox = Tuple.Create(cell.RowIndex, cell.ColumnIndex, tbox)
            Else
                _textbox = Nothing
            End If
        End Sub
        Private Sub DataGridView1_CellEndEdit(sender As Object, e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DataGridView1.CellEndEdit
            DataGridView1.CurrentCell = Nothing
            DataGridView1.CurrentCell = DataGridView1(e.ColumnIndex, e.RowIndex)
        End Sub
記事No.88633 のレス /過去ログ152より / 関連記事表示
削除チェック/

■88643  Re[2]: DataGridViewの不正値チェック
□投稿者/ まっさん -(2018/09/12(Wed) 21:24:57)
    No88637 (まっさん さん) に返信
    
    編集中のTextBoxにアイコンを表示するのは力技になりそうなので以下のように
    ToolTipでエラー表示するようにしました。
    独り相撲で申し訳ありませんでした。
    
      '編集中セルの行番号、列番号、EditingControl
        Private _textbox As Tuple(Of Integer, Integer, DataGridViewTextBoxEditingControl)
        Private _toolTip As New ToolTip
        Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
            Dim dt As New DataTable
            dt.Columns.Add("C1", GetType(Integer))
            dt.Rows.Add(1)
            dt.AcceptChanges()
            DataGridView1.DataSource = dt
        End Sub
        Private Sub DataGridView1_DataError(sender As Object, e As System.Windows.Forms.DataGridViewDataErrorEventArgs) Handles DataGridView1.DataError
            '念の為、行番号、列番号も照合する
            If _textbox IsNot Nothing AndAlso _textbox.Item1 = e.RowIndex AndAlso _textbox.Item2 = e.ColumnIndex Then
                _textbox.Item3.SelectAll()
                'ツールチップを表示
                _toolTip.SetToolTip(_textbox.Item3, "セルの値を確認してください。")
                _toolTip.ToolTipIcon = ToolTipIcon.Error
                _toolTip.Active = True
            End If
            e.Cancel = True
        End Sub
        Private Sub DataGridView1_EditingControlShowing(ByVal sender As Object, _
            ByVal e As DataGridViewEditingControlShowingEventArgs) _
            Handles DataGridView1.EditingControlShowing
            If TypeOf e.Control Is DataGridViewTextBoxEditingControl Then
                Dim tbox = DirectCast(e.Control, DataGridViewTextBoxEditingControl)
                Dim cell = DataGridView1.CurrentCell
                _textbox = Tuple.Create(cell.RowIndex, cell.ColumnIndex, tbox)
            Else
                _textbox = Nothing
            End If
        End Sub
        Private Sub DataGridView1_CellEndEdit(sender As Object, e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DataGridView1.CellEndEdit
            _toolTip.Active = False
        End Sub
記事No.88633 のレス / END /過去ログ152より / 関連記事表示
削除チェック/

■88636  Re[1]: DataGridViewの不正値チェック
□投稿者/ まっさn -(2018/09/12(Wed) 20:17:59)
    No88633 (まっさん さん) に返信
    > 環境:VB2010 Windowsフォームアプリ
    >
    > 以下のような事を実現したいのですが、
    > (1)DataGridViewにユーザーが不正な値を入力した場合はエラーアイコンを表示
    > (2)セルの値が不正でなくなったら、エラーアイコンを消去
    >
    > DataErrorをハンドリングして以下のようなコードで実験してみましたが、
    > もう一工夫したい点がいくつかあります。
    > (下記コードでDataGridViewのC1列にInteger以外を入力した場合の話です。)
    >
    > (a)ESCキー押下で入力をキャンセルした場合、エラーアイコンが消えない。
    > (b)不正な値を入力してEnterキー押下で不正文字を選択状態にしたい。
    > (c)エラーアイコンを行ヘッダに表示しているが、できればセルに表示したい。
    >
    > (c)は無理っぽい感じがしますが、上記を実現するにはどうすればいいでしょうか?
    >
    > ’-----------------------以下、実験コード-----------------------
    > Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
    > Dim dt As New DataTable
    > dt.Columns.Add("C1", GetType(Integer))
    > dt.Rows.Add(1)
    > dt.AcceptChanges()
    > DataGridView1.DataSource = dt
    > End Sub
    > Private Sub DataGridView1_DataError(sender As Object, e As System.Windows.Forms.DataGridViewDataErrorEventArgs) Handles DataGridView1.DataError
    > DataGridView1.Rows(e.RowIndex).ErrorText = "セルの値を確認してください。"
    > e.Cancel = True
    > End Sub
    > Private Sub DataGridView1_CellValidating(sender As Object, e As System.Windows.Forms.DataGridViewCellValidatingEventArgs) Handles DataGridView1.CellValidating
    > If DataGridView1.Rows(e.RowIndex).ErrorText IsNot String.Empty Then
    > DataGridView1.Rows(e.RowIndex).ErrorText = String.Empty
    > End If
    > End Sub
記事No.88633 のレス /過去ログ152より / 関連記事表示
削除チェック/



<< 0 >>

パスワード/

- Child Tree -