- PR -

.netでVBAのScreenUpdatingにあたるプロパティ

1
投稿者投稿内容
neni
会議室デビュー日: 2005/05/13
投稿数: 2
投稿日時: 2005-05-13 17:50
Excel VBAでは、
Application.ScreenUpdating = False
とすることでマクロが動いている間の画面表示の更新をオフに
設定出来たと思いますが
VB.netで、同じように処理中はフォームの描画を止めておくことは
可能でしょうか?
現在、コントロールを生成して貼り付けている最中に
フォーム上に増えていくのが微妙に目に見える状態です

URLを参考に、
Me.SetStyle(ControlStyles.DoubleBuffer, True)
Me.SetStyle(ControlStyles.UserPaint, True)
Me.SetStyle(ControlStyles.AllPaintingInWmPaint, True)
の3行をロードイベントに追加してみましたが、変化がありませんでした。

[ メッセージ編集済み 編集者: neni 編集日時 2005-05-16 13:20 ]
ue
ぬし
会議室デビュー日: 2005/05/07
投稿数: 581
お住まい・勤務地: 広島市
投稿日時: 2005-05-13 18:28
SuspendLayoutメソッドとResumeLayoutメソッドを使用することで
解決するかもしれません。
http://www.microsoft.com/japan/msdn/thisweek/step7/Improve_performance_Winform/SuspendLayout.aspx
neni
会議室デビュー日: 2005/05/13
投稿数: 2
投稿日時: 2005-05-16 13:30
ダブル・バッファリングに加えて
SuspendLayoutとResumeLayoutを前後に挟んだら
上手くちらつきを押さえることができました。
(リサイズだけはSuspendLayout中でも
すぐに目に見えてしまうようなので
最後にするのがいいようです)

ueさんありがとうございました。
1

スキルアップ/キャリアアップ(JOB@IT)