如何从DataGridView接收“滚动框”类型的滚动事件?我有一个DataGridView,我正在收听它的Scroll事件。这给了我一个ScrollEventArgs对象,其Type成员应该告诉我发生的滚动事件的类型。在MSDN文档页面上,它说我应该能够通过侦听ThumbPosition、ThumbTrack、First、Last和EndScroll类型的事件来检测滚动框的移动。但是,当我拖动滚动框时,我只得到LargeDecrement和LargeIncrement类型的事件。如何访问ThumbPosition、ThumbTrack、First、Last和EndScroll事件?使用System.Reflection;使用System.Windows.Forms;booladdScrollListener(DataGridViewdgv){boolret=false;输入t=dgv.GetType();PropertyInfopi=t.GetProperty("VerticalScrollBar",BindingFlags.Instance|BindingFlags.NonPublic);滚动条s=null;if(pi!=null)s=pi.GetValue(dgv,null)asScrollBar;if(s!=null){s.Scroll+=newScrollEventHandler(s_Scroll);ret=真;返回ret;}voids_Scroll(objectsender,ScrollEventArgse){//Handergoeshere..}如你所料,如果你想监听水平滚动事件,你可以将“VerticalScrollBar”改为“Horizo??ntalScrollBar”即可这无需通过访问DataGridView控件上的水平或垂直滚动??条进行反映。将HScrollBar替换为VScrollBar以获得垂直滚动条。以上就是C#学习教程:Howtoreceive"scrollbox"typescrolleventsfromDataGridView?如果分享的内容对你有用,需要进一步了解C#学习教程,希望你多多关注——publicMyFormConstructor(){InitializeComponent();AddScrollListener(MyGrid,MyScrollEventHandler);}privatevoidAddScrollListener(DataGridViewdgv,ScrollEventHandlerscrollEventHandler){HScrollBarscrollBar=dgv.Controls.OfType().First();scrollBar.Scroll+=scrollEventHandler;}privatevoidMyScrollEventHandler(objectsender,ScrollEventArgse){//Handlerwithe.Type}setproper网络收藏不代表立场,如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处:
