0

その下には、選択したDatagridview列の値を検索するために使用される Textbox と label(Search) があります。 Date, Description , Module, NameDatagridview

私の問題は、選択した列に従ってラベル(検索)とテキストボックスを移動したいということです。たとえば、説明列を選択した場合、ラベル(検索)は日付列にあり、テキストボックスは説明列にあり、テキストボックスの幅は列幅と同じになります。ゼロのインデックス列 (日付) を選択した場合、テキストボックスは日付列にあり、ラベル (検索) は最初のインデックス列にある必要があります。

私はこの問題で立ち往生しており、これを行う方法がわかりません。

4

2 に答える 2

1

私は自分のプロジェクトに実装したサンプル コードを 1 つ投稿しています...ここではボタン クリック イベントで、ボタンのクリックごとにテキスト ボックス、データグリッドビューを下に移動しています...検索テキスト ボックスとラベルの場所を動的にするのと同じ方法です.. . たとえば、最初の列 (日付) が位置 10,20 から始まるとします。次に、説明列を選択して、ラベルの位置を (10,20) に設定します。他のオプションについても同じ方法で進めます。

以下のコードを参照してください...

public  void btn_add_Click(object sender, System.EventArgs e) 
    {

            if (sender == btn_mc_add)
            {

                dgv_mc.Rows.Add();
                int count = dgv_mc.Rows[0].Height;
                int count1 = dgv_mc.Rows.Count;
                k = k + count;
                GBOX_MC.Height = count * count1 + 44;
                dgv_mc.Height = count * count1 + 44;
                GBOX_MW.Location = new Point(5, 141 + k - 44);
                lbl_mw.Location = new Point(6, 90 + k - 22);
                btn_mw_add.Location = new Point(700, (90 + k - 22));
                btn_mw_delete.Location = new Point(770, (90 + k - 22));
                GBOX_SCROLL_NOW.Location = new Point(5, 210 + k + l + 22);
                lbl_scroll_now.Location = new Point(6, 185 + k + l + 22);
                btn_scroll_now_add.Location = new Point(700, 185 + k + l + 22);
                btn_scroll_now_delete.Location = new Point(770, 185 + k + l + 22);

            }


            else if (sender == btn_mw_add)
            {
                dgv_mw.Rows.Add();
                int count = dgv_mw.Rows[0].Height;
                int count1 = dgv_mw.Rows.Count;
                l = l + count;
                GBOX_MW.Height = count * count1 + 44;
                dgv_mw.Height = count * count1 + 44;
                GBOX_SCROLL_NOW.Location = new Point(5, 210 + l + k);
                lbl_scroll_now.Location = new Point(6, 185 + l + k);
                btn_scroll_now_add.Location = new Point(700, 185 + l + k);
                btn_scroll_now_delete.Location = new Point(770, 185 + l + k);
            }

}

于 2013-11-11T13:04:39.307 に答える
0

検索 (テキスト ボックス) とラベルを移動する場合は、選択したセルの場所を取得し、テキスト ボックスとラベルの両方の場所を新しい場所で更新する必要があります。場所 (座標) を取得するためにContentBoundsを使用できます お役に立てれば

于 2013-11-11T10:57:28.533 に答える