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

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

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

No.1882 の関連記事表示

<< 0 >>
■1882  Re[2]: スクロールバーとフォーカス
□投稿者/ 津田子 -(2005/11/15(Tue) 10:30:50)

    分類:[C#] 

    中さん、こんにちは。お返事ありがとうございます。

    > 画面かなんかと、ポイントになりそうなソース出せませんか?

    選択されたセル上にテキストボックスを表示するメソッドのソースを提示させていただきます。

    //スプレッドシートの格子はDrawRectangle()をfor文でまわして描画しています
    /**********定義してあるメンバ*************************
    int cellWidth, cellHeight; //セルの幅と高さ
    int lineWidth; //格子線の太さ
    int currentColumnIndex,currentRowIndex; //選択しているセルのインデックス
    int IncludeClient(Rectangle rect);
    //選択したセルがコントロールのクライアント領域からはみでているか調べるメソッド
    ******************************************************/

    //選択されたセル上にテキストボックスを表示
    private void EnterTextBox(int currentColumnIndex, int currentRowIndex)
    {
     Rectangle rect= new Rectangle(currentColumnIndex * cellWidth,
      currentRowIndex * cellHeight, cellWidth, cellHeight - lineWidth);

     if(IncludeClient(rect) == -1)//下部がはみでているとき
     {
      AutoScrollPosition = new Point(rect.Right + lineWidth - ClientRectangle.Right,
      rect.Bottom + lineWidth - ClientRectangle.Bottom);
     }
     else if(IncludeClient(rect) == 1)//上部がはみでているとき
     {
      AutoScrollPosition = new Point(rect.Right + lineWidth - ClientRectangle.Right,
      rect.Top + lineWidth - ClientRectangle.Top);
     }

     textBox.Visible = true;
     textBox.Size = new SIze(cellWidth - lineWidth, cellHeight - lineWidth);
     textBox.Location
       = new Point(AutoScrollPosition.X + lineWidth + cellWidth * currentColumnIndex,
     AutoScrollPosition.Y + currentRowIndex * cellHeight + lineWidth);
     textBox.Focus();
    }


    不備・不足などがありましたらご指摘をお願いします。
記事No.1874 のレス /0過去ログ2より / 関連記事表示
削除チェック/

■1882  スクロール可能なPanelコントロールにて残像が残ります
□投稿者/ ばこま -(2007/03/08(Thu) 02:59:23)

    分類:[C# (Windows)] 

    2007/03/08(Thu) 10:07:19 編集(投稿者)
    2007/03/08(Thu) 03:11:06 編集(投稿者)
    2007/03/08(Thu) 02:59:38 編集(投稿者)

    度々この場をお借りします。

    VS2005、C#にてPanelコントロールでスクロール可能な画面を作っています。

    スクロール時にPanel内のコントロールの残像が出まくりでイメージがかなり悪いです、普通のコントロールはまだマシですがカスタムコントロールは更に残像が起こっているようです。
    色々調べてダブルバッファをフォームオープン時の処理に書いてみましたが、それでも変わりません。
    VB6でコントロール数が160ぐらいの画面を作ったことがありますが、残像は出ませんでした…

    もし、解決策等あればよろしくお願いします。

    書き込み後色々試してみましたが、なかなか厳しいです…
    Panel内の描画をスクロール後に行うという事は出来ないのでしょうか?どちらにしても、スクロール中は見れたものじゃないので(苦笑
親記事 /過去ログ10より / 関連記事表示
削除チェック/

■1896  Re[1]: スクロール可能なPanelコントロールにて残像が残ります
□投稿者/ Hirotow -(2007/03/08(Thu) 13:05:54)
>
    よくわかりませんが、
    SuspendLayout() ResumeLayout() 系のメソッドを使ってみてはどうでしょうか?
記事No.1882 のレス /過去ログ10より / 関連記事表示
削除チェック/

■1897  Re[1]: スクロール可能なPanelコントロールにて残像が残ります
□投稿者/ シャノン -(2007/03/08(Thu) 13:10:49)
    No1882 (ばこま さん) に返信
    > スクロール時にPanel内のコントロールの残像が出まくりでイメージがかなり悪いです

    AutoScrollを有効にしたPanelのスクロール時は、スクロールすることによって新たに表示された部分しか再描画の対象になりません。
    それに関連した問題のような気がする。
記事No.1882 のレス /過去ログ10より / 関連記事表示
削除チェック/

■1933  Re[2]: スクロール可能なPanelコントロールにて残像が残ります
□投稿者/ ばこま -(2007/03/08(Thu) 22:50:22)
    シャノンさん、Hirotowさんレスありがとうございます。

    あれからいろいろ試しましたが力量不足でうまくいきません…
    言語もどんどん新しくなるにつれ機能充実の反面、処理も遅くなるのでしょうか??
    C#初めてもうすぐ一ヶ月になりますが、画面ひとつも作ってません(涙)
記事No.1882 のレス /過去ログ10より / 関連記事表示
削除チェック/

■1937  Re[3]: スクロール可能なPanelコントロールにて残像が残ります
□投稿者/ シャノン -(2007/03/09(Fri) 09:07:34)
    No1933 (ばこま さん) に返信
    > シャノンさん、Hirotowさんレスありがとうございます。
    >
    > あれからいろいろ試しましたが力量不足でうまくいきません…
    > 言語もどんどん新しくなるにつれ機能充実の反面、処理も遅くなるのでしょうか??
    > C#初めてもうすぐ一ヶ月になりますが、画面ひとつも作ってません(涙)

    どういうコードを書いているかわからないと、これ以上は何も言えませんね。
記事No.1882 のレス /過去ログ10より / 関連記事表示
削除チェック/

■1944  Re[4]: スクロール可能なPanelコントロールにて残像が残ります
□投稿者/ ばこま -(2007/03/09(Fri) 16:44:32)
    シャノンさんレスありがとうございます。
    仕様としては、タブの中にパネルを設置して、パネルの背景に画像を使用してます。
    コントロールはラベル、テキストボックス、コンボボックス、グループボックスのみの使用で
    すべてカスタムコントロールになっています。
    カスタムコントロールの処理は例えばコンボボックスにフォーカスがある状態で↓を押したらドロップダウンする等
    少しだけオーバーライドした処理を書いています、画面自体はまだ処理は書いていません。

    始めは背景画像がよろしくないかと思い、外しましたが現象は特に変わりませんでした。

    今の見解では、カスタムコントロールにすると遅くなるようですね…
    悩んだ結果、ひとまずスクロール無しで設計するようにしています。(汗
記事No.1882 のレス /過去ログ10より / 関連記事表示
削除チェック/



<< 0 >>

パスワード/

- Child Tree -