mindrayguowei 发表于 2016-6-18 16:10:02

TextControl滚动条自动滚动问题

我在TextControl里面插入了十几张图片, 这些图片显示在好几页里面. 每次点击某一页的最后一副图片, 滚动条都会自动滚到下一页, 如何禁止滚动条滚动到下一页?

gw0506 发表于 2016-6-20 12:28:23

Scrolling可以控制,通过ScrollLocation设定就可以了。
按照你的习惯,我估计文档你都看过了,我就不粘贴代码了。

不过你这个可能是在业务逻辑上还不确定。得判断1. 它跳到下一页了。2,这时候不想让它去下一页。
你看有没有文档给我一份,咱们一起看看。

mindrayguowei 发表于 2016-6-21 09:23:52

比如附件中的文档, 当我点击第二页最右下角的那副图片, 界面就会默认自动滚动到第三页去了, 我不希望他滚动下去

gw0506 发表于 2016-6-21 10:19:37

mindrayguowei 发表于 2016-6-21 09:23
比如附件中的文档, 当我点击第二页最右下角的那副图片, 界面就会默认自动滚动到第三页去了, 我不希望他滚动 ...

我跟你确认一下现场。
我这边操作之后的现象是,它会自动滚动到最后一个图片的下方,帮着最后一个图片可以完整的被显示出来,同时我看不到下一页的内容。如图1,图2所示。

图1

图2

你看是不是跟你的现场一样?如果一样,我理解这个行为是正常的,没有滚动到下一页。

mindrayguowei 发表于 2016-6-21 15:59:10

你点击第二页的右上角的图片, 滚动条会自动滚动一点点,确实没有滚动到下一页.
但是点击右下角的那副图片, 就自动滚动到第三页去了.

同理, 点击第三页的左上角那副图片, 滚动条会自动滚动到第二页.

我希望达到的效果: 不论点击哪一副图片, 滚动条都不要有任何的滚动

gw0506 发表于 2016-6-22 09:47:56

mindrayguowei 发表于 2016-6-21 15:59
你点击第二页的右上角的图片, 滚动条会自动滚动一点点,确实没有滚动到下一页.
但是点击右下角的那副图片,...

      Point scrollLoc = Point.Empty;
      bool isImageSelected = false;
      private void textControl1_ImageSelected(object sender, TXTextControl.ImageEventArgs e)
      {
            this.scrollLoc = this.textControl1.ScrollLocation;
            this.isImageSelected = true;
      }

      private void textControl1_VScroll(object sender, EventArgs e)
      {
            if (this.isImageSelected
                && this.scrollLoc.Y != this.textControl1.ScrollLocation.Y)
            {
                this.textControl1.ScrollLocation = this.scrollLoc;
                this.isImageSelected = false;
            }
      }
页: [1]
查看完整版本: TextControl滚动条自动滚动问题