C#、Java中的一些小功能点总结(持续更新......)

前言:在项目中,有时候一些小的功能点,总是容易让人忽略,但是这些功能加在项目中往往十分的有用,因此笔者在这里总结项目中遇到的一些实用的小功能点,以备用,并持续更新......

1.禁用DataGridView表头的排序功能

 1        /// <summary>
 2         /// 禁止点击列表头进行排序
 3         /// </summary>
 4         /// <param name="dgv">当前DataGridView控件</param>
 5         private void DisableSortOrder(DataGridView dgv)
 6         {
 7             for (int i = 0; i < dgv.ColumnCount; i++)
 8             {
 9                 dgv.Columns[i].SortMode = DataGridViewColumnSortMode.NotSortable;
10             }
11         }

2.屏蔽双击标题栏窗口变小、点击标题栏移动窗口事件

 1         /// <summary>
 2         /// 屏蔽双击标题栏变小事件、点击标题栏移动窗口事件
 3         /// </summary>
 4         /// <param name="m"></param>
 5         protected override void WndProc(ref Message m)
 6         {
 7             //双击标题栏、移动窗口事件
 8             if (m.Msg != 0xA3 && m.Msg != 0x0003 && m.WParam != (IntPtr)0xF012)
 9             {
10                 base.WndProc(ref m);
11             }
12
13         }

注:在需要不被移动的窗口中添加上述代码,其他具体消息,可查询相关资料,进行控制。

m.Msg = 0xA3  -> 双击标题栏消息

m.Msg = 0x0003 && m.WParam = (IntPtr)0xF012 -> 移动窗体消息

3. 登录时,当正确输入口令后,关闭登录窗口

注:这个功能其实还比较重要,因为如果我们直接this.hide()或this.close()是不行的,这是就需要一个小技巧进行控制,具体如下代码:

1.在Program.cs中如下:

1  LoginForm lf = new LoginForm();
2  lf.ShowDialog();
3  if (lf.DialogResult == DialogResult.OK)
4       Application.Run(new SelectItemForm());
2.然后在登录窗口中,当登录成功后进行如下控制:

this.DialogResult = DialogResult.OK;
       this.Close();

通过以上两步就可以实现关闭登录界面,从而转到所需的主界面中。

持续更新中......by Shawn Chen 2017.7.10 晚

 
时间: 2024-10-18 06:38:20

C#、Java中的一些小功能点总结(持续更新......)的相关文章

Idea中快捷键与小技巧的总结--&gt;持续更新

1.Scala类或单例对象中快速声明实例对象: eg. new SparkContext(conf).var 系统会自动提示,可以自动补全,如图: 原文地址:https://www.cnblogs.com/HelloBigTable/p/10261300.html

工作学习中的一些小的收获(持续更新)

1. 使用extern在动态库和主函数中共享变量,设置条件等,两种情况 A. 动态库中定义,主函数文件中声明 B. 与A相反,但是这个时候需要加上 -W1 --export-dynamic编译选项,否则会报链接错误 2. 如果一个类型的定义被用typedef 隐藏起来了(一般是个结构体指针),两种情况: A. 定义这个这个类型的.c文件能看到,这时候如果想用这个类型的成员变量,可以把声明定义部分挪到.h头文件中,并根据编译情况,调整相 应的依赖情况 B. 如果c文件都被闭源了(只提供h和lib)

常用小功能总结-不定时更新

Windows下使用eclipse开发android应用,搭配好模拟器等环境. 1.eclipse智能提示设置. 1)Windows→Preferences→Java→Editor→Content Assist 把200毫秒的时间改成20 2)Windows→Preferences→Java→Editor→Content Assist 然后修改:Auto Activation triggers for java的默认值“.”为".abc". 接着File→Export→Preferen

记录某项目中的踩坑与解决(持续更新)

前言 最近参加了某个比赛, 我所选的赛题就是个类似知乎这样的安卓app,由于着手近一个月了,踩了不少坑,之前没怎么记录,估计事后也会忘记干净. 因此特开一帖,在此记录下相关的坑. 记录 写完某个Recyclerview的item布局和相关适配器后, 然后展示的时候, 发现显示出来的Item数量小于List中绑定的数据量: 首先是检查了一遍适配器中的逻辑,发现没啥问题.然后在onCreateViewHolder中打log,发现只创建了两次就没了(而实际应该创建6次). 最后百度才发现是外面的Scr

java中的一些小细节

1.abstract抽象类除了多了抽象的方法之外是可以有构造函数的,在子类进行实例化的时候,先执行父类的构造函数,可以调用super关键字指定调用父类的构造方法,在执行子类的构造方法. 2.抽象类一定要有子类,抽象方法必须要在子类实现. 3.java中只能继承一个抽象类,不能继承多个类. 4.接口包括全局常量(final static 修饰)和公有抽象函数,一个子类可以继承多个接口. 5.一个接口不能继承一个抽象类,但是可以继承多个接口,但是一个抽象类可以继承多个接口. 6.接口和抽象类都不能进

java中几个小遗漏

1.首先 Scanner sn=new Scanner(System.in); int i=sn.nextInt();  String ss=sn.next();没有空格的  String sss=sn.nextLine();有空格可以 >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

Java 与 C++ 不一样的地方(持续更新中...)

本文仅以记录 Java 与 C++ 不同之处,以备随时查询. Java 程序运行机制 Java 是一门编译解释型的语言,即它在运行的过程中既需要编译也需要解释.如下图表示的是 Java 程序运行机制: 上图中,*.java 是用 Java 程序设计语言编写的源程序,通过 javac 命令编译成 *.class 文件,在操作系统之上是由 Java 虚拟机来运行以 .class 为结尾的文件.这里的 class 文件在 Java 中称之为可执行类文件:或者对于虚拟机而言其实就是字节码文件,也就是0.

ACM一些小的注意事项 持续更新ing

一.关于浮点数的输入输出 scanf :floot : %f   double : %lf       long double : %Lf printf :floot : %f double : %f(用%lf的话会出很多奇奇怪怪的问题,poj好像必须用%f,不然wa(惨痛教训,bug找了半天,没想到是错在这))      long double : %Lf 二.1.Java 类名称必须为Main 2.java中字符串String是不可以修改的,要修改只能转换为字符数组. 三.memset函数:

Python中常用的一些操作总结(持续更新)

写在前面的话 其实也没有什么可以写的,或者说完全没有价值.因为你只要动一动手指就可以在Google上找到我要写的这些东西.只是我还不习惯好久没有碰我的blog,但是我又不想写没有价值的东西.或许有价值,只是在我一年两不编程的情况下,我会忘记那些我以前很熟悉的操作是怎么完成的,或许混到那个地步我的人生就开始悲剧了吧.总之,成长成我想要的样子我还是需要很长的路要走. 这一篇是会持续更新的,至少为了保证它看起来不那么水,也要让它持续更新 python中的进制转换 1.其他进制转换为10进制 所有的进制