我们接着上篇文章进行通用方法的讲解,上集中我们分享了三个通用方法,这集我们分享四个通用方法,方法之间没有难度区分,以通用性为主。
(1)这个通用方法为datagridview中根据列名来查找列的index值,传入参数为datagridview中列标题的名称,返回值为这个列的index值。
/// <summary>
/// datagridview1通过列名寻找id
/// </summary>
/// <param name="name"></param>
/// <returns></returns>
public int ID(string name)
{
int i = 0;
for (int j = 1; j < DataGridView1.Columns.Count; j++)
{
if (DataGridView1.Columns[j].HeaderText == name)
{
i = j;
return i;
}
}
return i;
}
(2)这个通用方法为校验uiComboBox2的值是否为空,如果为空,返回值为1,如果不为空,返回值为0.
public int UPLinkVerify()
{
int up = 0;
if(uiComboBox2.Text=="")
{
up = 1;
}
return up;
}
(3)这个通用方法为杀死Excel进程,传入参数为Microsoft.Office.Interop.Excel.Application excel,这个方法只会杀死你传入的excel,不会将其它已经存在的excel进程关闭,相比其它几个方法,比较好用。
public class PublicMethod
{
[DllImport("User32.dll", CharSet = CharSet.Auto)]
public static extern int GetWindowThreadProcessId(IntPtr hwnd, out int ID);
public static void Kill(Microsoft.Office.Interop.Excel.Application excel)
{
IntPtr t = new IntPtr(excel.Hwnd);//得到这个句柄,具体作用是得到这块内存入口
int k = 0;
GetWindowThreadProcessId(t, out k); //得到本进程唯一标志k
System.Diagnostics.Process p = System.Diagnostics.Process.GetProcessById(k); //得到对进程k的引用
p.Kill(); //关闭进程k
}
}
(4)这个通用方法为压缩图片,传入的参数为Image,和Size,返回的参数为压缩以后的Image。
/// <summary>
/// 压缩图片
/// </summary>
/// <param name="imgToResize"></param>
/// <param name="size"></param>
/// <returns></returns>
public static Image ResizeImage(Image imgToResize, Size size)
{
return (Image)(new Bitmap(imgToResize, size));
}