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

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

C# と VB.NET の入門サイト

Re[2]: クリップボードから取得


(過去ログ 83 を表示中)

[トピック内 5 記事 (1 - 5 表示)]  << 0 >>

■49472 / inTopicNo.1)  クリップボードから取得
  
□投稿者/ あきよし (5回)-(2010/05/06(Thu) 11:49:25)

分類:[C#] 

C#に関してです。
クリップボードからカンマ区切りのテキストを取り込み、それをdatagridviewに表示させたいと思っております。
string[] cResArr = Clipboard.GetText().Split(',') ;
dataGridView1.Rows.Add(cResArr);

上記のようにしてみましたが、datagridviewには1列目の要素しか表示されず、1列目の幅がdatagridview全体に
広がっているような状況です。

例えば、クリップボードに「a,b,c,d,e」という文字列がある状態で実行すると、datagridviewには「a」だけが表示され、1列目がdatagridview全体に広がります。その他のものは表示されません。

これを解決するにはどのようにすればよいのでしょうか?
引用返信 編集キー/
■49474 / inTopicNo.2)  Re[1]: クリップボードから取得
□投稿者/ こくぶん (58回)-(2010/05/06(Thu) 12:03:09)
No49472 (あきよし さん) に返信
> クリップボードからカンマ区切りのテキストを取り込み、それをdatagridviewに表示させたいと思っております。
> string[] cResArr = Clipboard.GetText().Split(',') ;
> dataGridView1.Rows.Add(cResArr);
>
> 上記のようにしてみましたが、datagridviewには1列目の要素しか表示されず、1列目の幅がdatagridview全体に
> 広がっているような状況です。
>
> 例えば、クリップボードに「a,b,c,d,e」という文字列がある状態で実行すると、datagridviewには「a」だけが表示され、1列目がdatagridview全体に広がります。その他のものは表示されません。
>
> これを解決するにはどのようにすればよいのでしょうか?


dataGridView1 に Column は 5 個設定されていますでしょうか?

# もし、 Column が 1 個しか設定されていなければ、書かれている通りの動きになると思います。

引用返信 編集キー/
■49476 / inTopicNo.3)  Re[2]: クリップボードから取得
□投稿者/ あきよし (6回)-(2010/05/06(Thu) 12:34:32)
>
>
> dataGridView1 に Column は 5 個設定されていますでしょうか?
>
> # もし、 Column が 1 個しか設定されていなければ、書かれている通りの動きになると思います。
>

5個設定しています。
ボタンクリックで動作するようになっていますが、ボタンを押すと、1列目以外が見えなくなってしまいます。


引用返信 編集キー/
■49477 / inTopicNo.4)  Re[1]: クリップボードから取得
□投稿者/ 魔界の仮面弁士 (1642回)-(2010/05/06(Thu) 13:04:41)
No49472 (あきよし さん) に返信
> 例えば、クリップボードに「a,b,c,d,e」という文字列がある状態で実行すると、datagridviewには「a」だけが表示され、
> 1列目がdatagridview全体に広がります。その他のものは表示されません。

下記のコードで検証してみましたが、再現しませんでした。
DataGridView の設定に問題が無いか、もう一度確認してみて下さい。


private Button button1 = new Button();
private DataGridView dataGridView1 = new DataGridView();
private void Form1_Load(object sender, EventArgs e)
{
    button1.Dock = DockStyle.Top;
    Controls.Add(button1);
    dataGridView1.ColumnCount = 5;
    dataGridView1.Dock = DockStyle.Fill;
    Controls.Add(dataGridView1);

    button1.Click += delegate
    {
        Clipboard.Clear();
        Clipboard.SetText("a,b,c,d,e");

        string[] cResArr = Clipboard.GetText().Split(',');
        dataGridView1.Rows.Add(cResArr);
    };
}

引用返信 編集キー/
■49478 / inTopicNo.5)  Re[2]: クリップボードから取得
□投稿者/ あきよし (7回)-(2010/05/06(Thu) 13:32:50)
皆様
大変お手数をおかけしましたが、ソースを見直しましたら、
dataGridView1.ColumnCount = 1;
というコードが見つかりました。

大変お手数をおかけいたしました。
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -