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

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

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

Re[1]: グリッドの自動スクロールを止めたい


(過去ログ 130 を表示中)

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

■77133 / inTopicNo.1)  グリッドの自動スクロールを止めたい
  
□投稿者/ ミーアキャット (22回)-(2015/09/16(Wed) 10:19:50)

分類:[.NET 全般] 

Windows7 、VisualStudio2013 で
ComponentOne(2010) の flexGird を使用しています。

見えている部分が太線で、細線が表示部分とします。
■は現在選択されているRowです。

┌────────┐
│        │
├──┏━━━┓─┤
│  ┃■■■┃ │
├──┣━━━┫─┤
│  ┃   ┃ │
├──┣━━━┫─┤
│  ┃   ┃ │
├──┗━━━┛─┤
│        │
└────────┘

この状態でクリックして Rowを3番目に変更すると


┌────────┐
│        │
┏━━━┓────┤
┃   ┃    │
┣━━━┫────┤
┃   ┃    │
┣━━━┫────┤
┃■■■┃    │
┗━━━┛────┤
│        │
└────────┘

このようになってしまいます。
自動的に横にスクロールをしない以下の状態にするには
どうすればよいのでしょうか?

┌────────┐
│        │
├──┏━━━┓─┤
│  ┃   ┃ │
├──┣━━━┫─┤
│  ┃   ┃ │
├──┣━━━┫─┤
│  ┃■■■┃ │
├──┗━━━┛─┤
│        │
└────────┘

やはり、マウスダウンでスクロールポジションを覚えて
マウスアップでスクロールを元に戻すというような
やり方しかないのでしょうか?
一応この方法で試みたのですが、
表示するときに画面がちらついたり(一度左に移動し、また元の位置に戻る表示)
これをなくすために、BeginUpdateやEndUpdateを挿入すると
スクロールがとても遅くなったり、また、ある条件でうまくいかないなどとても面倒で
成功しませんでした。

すみませんが、よろしくお願いします。















引用返信 編集キー/
■77148 / inTopicNo.2)  Re[1]: グリッドの自動スクロールを止めたい
□投稿者/ ぶなっぷ (51回)-(2015/09/17(Thu) 10:08:43)
いまいち現象がはっきりつかめないのですが、
私の経験則だけでお話させていただくなら、

> やはり、マウスダウンでスクロールポジションを覚えて
> マウスアップでスクロールを元に戻すというような
> やり方しかないのでしょうか?
> 一応この方法で試みたのですが、
> 表示するときに画面がちらついたり(一度左に移動し、また元の位置に戻る表示)
> これをなくすために、BeginUpdateやEndUpdateを挿入すると
> スクロールがとても遅くなったり、また、ある条件でうまくいかないなどとても面倒で
> 成功しませんでした。
あまり無理はしない方がいいです。
最悪、そこがバグの温床に成り果てます(;^_^A アセアセ

可能かどうかは分かりませんが、
自動スクロールを完全停止できるなら、完全停止した上で、スクロール処理は全て自前で
書くようにした方が、影響範囲を完全把握できます。
そうすれば、少なくともバグの温床にはならないと思います。

引用返信 編集キー/


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

このトピックに書きこむ

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

管理者用

- Child Tree -