重写datagrid(禁止对列宽进行拖拽)

datagrid

Public Class notCResizegrid

    Inherits System.Windows.Forms.DataGrid

 

#Region " Windows 窗体设计器生成的代码 "

 

    Public Sub New()

        MyBase.New()

 

        '该调用是 Windows 窗体设计器所必需的。

        InitializeComponent()

 

        '在 InitializeComponent() 调用之后添加任何初始化

 

    End Sub

 

    'UserControl 重写 dispose 以清理组件列表。

    Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean)

        If disposing Then

            If Not (components Is Nothing) Then

                components.Dispose()

            End If

        End If

        MyBase.Dispose(disposing)

    End Sub

 

    'Windows 窗体设计器所必需的

    Private components As System.ComponentModel.IContainer

 

    '注意:以下过程是 Windows 窗体设计器所必需的

    '可以使用 Windows 窗体设计器修改此过程。

    '不要使用代码编辑器修改它。

    <System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()

        components = New System.ComponentModel.Container()

    End Sub

 

#End Region

 

    Protected Overrides Sub OnMouseDown(ByVal e As System.Windows.Forms.MouseEventArgs)

        Dim hti As System.Windows.Forms.DataGrid.HitTestInfo

        hti = Me.HitTest(e.X, e.Y)

        Select Case hti.Type

            Case DataGrid.HitTestType.ColumnResize

                Return

        End Select

        MyBase.OnMouseDown(e)

    End Sub

 

    Protected Overrides Sub OnMouseMove(ByVal e As System.Windows.Forms.MouseEventArgs)

        Dim hti As DataGrid.HitTestInfo = Me.HitTest(New Point(e.X, e.Y))

        '如果鼠标事件类型为改变列宽则返回

        If hti.Type = DataGrid.HitTestType.ColumnResize Then

            Cursor.Current = Cursors.Default

            Return

        End If

        MyBase.OnMouseMove(e)

    End Sub End Class

时间: 2025-01-26 13:22:13

重写datagrid(禁止对列宽进行拖拽)的相关文章

jQuery表格列宽可拖拽改变且兼容firfox_jquery

本demo使用jQuery包,实现表格列宽可拖拽功能,并实现页面reset时的重新布局.使用jQuery,方便函数的调用,给要处理的表格添加id 后,直接调用$("#id").movedTh()即可方便实现,修改了firfox的兼容性. 代码如下: <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312">

wpf-Wpf 中在listview的header部位双击 怎么禁止改变列宽

问题描述 Wpf 中在listview的header部位双击 怎么禁止改变列宽 列与列之间的分隔部分双击 会自动调整宽度 这个功能怎么禁止

Sortable.js拖拽排序使用方法解析_javascript技巧

最近公司项目经常用到一个拖拽 Sortable.js插件,所以有空的时候看了 Sortable.js 源码,总共1300多行这样,写的挺完美的. 官网: http://rubaxa.github.io/Sortable/ 拖拽的时候主要由这几个事件完成,     ondragstart 事件:当拖拽元素开始被拖拽的时候触发的事件,此事件作用在被拖曳元素上     ondragenter 事件:当拖曳元素进入目标元素的时候触发的事件,此事件作用在目标元素上     ondragover 事件:拖拽

新手急求~~在线等~~DataGrid列宽问题

问题描述 我是把数据用DataAdapter直接Fill到DataSet的在用SetDataBinding进行绑定的每列的列宽都是自动根据内容大小所变动但我想把每列的列宽设置成不同的大小那位高手晓得的请赐教~~~~急~急~急~ 解决方案 解决方案二:你将列宽设为不自动适应内容.再将列宽设一固定值.解决方案三:哪个属性`怎么设置啊`??解决方案四:ItemStyle-Width="20%"或ItemStyle-Width="20px"来设置解决方案五:<asp:

C# WinForm中DataGrid列设置(列宽/列标题等)

datagrid    写winForm的程序,难免要用DataGrid,自然也就需要设置列格式啊,标题之类的!  但是经常列标题设置后没反应,好恶心!         这几天做了个程序,自己研究了一下,主要有有一个地方要注意!那就是下面代码中的"红色" 字部分!以下代码不需要在控件上做任何设置,照着写就能搞定!以前好象还有人花5000分买 这个问题的解决答案的,哎,怎么我没碰上啊! private void frmLog_Load(object sender, System.Even

wpf datagrid-WPF DataGrid 列宽 自适应问题

问题描述 WPF DataGrid 列宽 自适应问题 DataGrid中绑定ComBox.编辑的时候下拉选择,如果先选择了一个字数比较多的选项,那么该列被拉长,再改一下,选择一个字数比较少的选项,那么这一列还是那么长. 解决方案 请描述具体些,看不懂问题 解决方案二: <DataGridComboBoxColumn x:Name="colCustomer" Header="客户" CanUserSort="False" SelectedVa

C# Winform 禁止用户调整ListView的列宽_C#教程

复制代码 代码如下: // 事件: 改变列宽的时候 private void ColumnWidthChange(object sender, ColumnWidthChangingEventArgs e) { // 如果调整的不是第一列,就不管了 if (e.ColumnIndex > 0) return; // 取消掉正在调整的事件 e.Cancel = true; // 把新宽度恢复到之前的宽度 e.NewWidth = this.lvStudents.Columns[e.ColumnIn

gridview列宽怎么可以拖动啊

问题描述 gridview列宽怎么可以拖动让它变宽啊? 解决方案 解决方案二:楼主直接设置宽度就可以了,拖动也是可以的.如果怎么拖,那看你的鼠标了解决方案三:直接设置宽度的话那固定了,就象Winform里面的GridView一样,列宽可以拖动啊!解决方案四:到web版javascript版块搜索解决方案五:地址是多少啊?解决方案六:你上孟子E章的空间.它里面有完整的东西.datagrid列和行都可以拖动的..

手工创建datagrid的数据列(c#window)

datagrid|window|创建|数据   笔者以前很少使用vs.net中的datagrid,原因是觉得不是很好用,昨天突然想起来,用一个简单的类,来实现手工创建数据列,这样可以自定义列名和绑定数据字段,使用起来比较方面的~~ 类:exDataGrid.cs using System;using System.Drawing;using System.Collections;using System.ComponentModel;using System.Windows.Forms; nam