WinForm&&DEV知识小结

--------------------------------------------------------------------------------

1、父窗体Form1中调用子窗体Form2代码:

Form2 fr = new Form2();

this.hide();

fr.ShowDialog(this);

2、子窗体的FormClosed事件代码:

private void Form2_FormClosed(object sender, FormClosedEventArgs e)

{

Login login = (Login)this.Owner;

login.Dispose();

login.Close();

}

--------------------------------------------------------------------------------

winform无边框拖动窗体

private Point mPoint = new Point();

private void Form1_MouseDown(object sender, MouseEventArgs e)

{

mPoint.X = e.X;

mPoint.Y = e.Y;

}

private void Form1_MouseMove(object sender, MouseEventArgs e)

{

if (e.Button == MouseButtons.Left)

{

Point myPosittion = MousePosition;

myPosittion.Offset(-mPoint.X, -mPoint.Y);

Location = myPosittion;

}

}

--------------------------------------------------------------------------------

读取datatable 几种方法

1,for (int i = 0; i< dt.rows.count; i++)

{

    string strname = dt.rows[i]["字段名"].tostring();

}

2, foreach(datarow myrow in mydataset.tables["temp"].rows)

{

    var str = myrow[0].tostring();

}

3,foreach(datarow dr in dt.rows)

{

    object value = dr["columnsname"];

}

4,

Datatable.select("kymd>‘2011-11-5‘ or kymd is null")

----------------------------------------------------------------------------------

datatable 合并

//前提:dt1和dt2表结构相同

foreach (DataRow dr in dt2.Rows)

dt1.Rows.Add(dr.ItemArray);

//绑定表格

dataGridView1.DataSource = dt1;

----------------------------------------------------------------------------------

修改datatable中的列名称

MyDt.Columns["xx"].ColumnName = "aa";

----------------------------------------------------------------------------------

用dictionary写键值对添加到datatable中 绑定combox显示值与属性值

//初始化下拉框值

Dictionary<string, string> dic = new Dictionary<string, string>();

dic.Add("气压", "AIRP");

dic.Add("气温", "ATMP");

dic.Add("湿度", "RHU");

dic.Add("降水", "ACCP");

dic.Add("风速", "WIN");

dic.Add("日照", "SSD");

dic.Add("地温", "GST");

dic.Add("蒸发", "ACCE");

DataTable dt = new DataTable();

dt.Columns.Add("key");

dt.Columns.Add("name");

foreach (var item in dic)

{

DataRow dr = dt.NewRow();

dr["key"] = item.Key;

dr["name"] = item.Value;

dt.Rows.Add(dr);

}

this.cmbType.DataSource = dt;

this.cmbType.DisplayMember = "key";

this.cmbType.ValueMember = "name";

----------------------------------------------------------------------------------

Dev

1、 如何解决单击记录整行选中的问题

View->OptionsBehavior->EditorShowMode 设置为:Click

4、如何让行只能选择而不能编辑(或编辑某一单元格)

(1)、View->OptionsBehavior->EditorShowMode 设置为:Click

(2)、View->OptionsBehavior->Editable 设置为:false

5、如何禁用 GridControl 中单击列弹出右键菜单

设置 Run Design->OptionsMenu->EnableColumnMenu 设置为:false

6、如何隐藏 GridControl 的 GroupPanel 表头

设置 Run Design->OptionsView->ShowGroupPanel 设置为:false

----------------------------------------------------------------------------------

Winfrom 与flash交互

//获取自定义事件

axShockwaveFlash1.FlashCall += new AxShockwaveFlashObjects._IShockwaveFlashEvents_FlashCallEventHandler(axShockwaveFlash1_FlashCall);

//鼠标点击弹出信息

public void axShockwaveFlash1_FlashCall(object sender, AxShockwaveFlashObjects._IShockwaveFlashEvents_FlashCallEvent e)

{

XmlDocument document = new XmlDocument();

document.LoadXml(e.request);

XmlAttributeCollection attributes = document.FirstChild.Attributes;

string command = attributes.Item(0).InnerText;

MessageBox.Show(command);

}

----------------------------------------------------------------------------------

WinForm设置全局皮肤 skin

//设置skin皮肤全局

string path = Application.StartupPath + @"\skin\Warm\WarmColor3.ssk";

se = new Sunisoft.IrisSkin.SkinEngine();

se.SkinAllForm = true;

se.SkinFile = path;

this.StartPosition = FormStartPosition.CenterScreen;

修改界面图标

string iconPath = Application.StartupPath + @"\image\a.ico";

this.Icon = new Icon(iconPath);

----------------------------------------------------------------------------------

Winform窗体淡入淡出效果

(百度来的)

[System.Runtime.InteropServices.DllImport("user32.dll")]

private static extern bool AnimateWindow(IntPtr whnd, int dwtime, int dwflag);

//dwflag的取值如下

public const Int32 AW_HOR_POSITIVE = 0x00000001;

//从左到右显示

public const Int32 AW_HOR_NEGATIVE = 0x00000002;

//从右到左显示

public const Int32 AW_VER_POSITIVE = 0x00000004;

//从上到下显示

public const Int32 AW_VER_NEGATIVE = 0x00000008;

//从下到上显示

public const Int32 AW_CENTER = 0x00000010;

//若使用了AW_HIDE标志,则使窗口向内重叠,即收缩窗口;否则使窗口向外扩展,即展开窗口

public const Int32 AW_HIDE = 0x00010000;

//隐藏窗口,缺省则显示窗口

public const Int32 AW_ACTIVATE = 0x00020000;

//激活窗口。在使用了AW_HIDE标志后不能使用这个标志

public const Int32 AW_SLIDE = 0x00040000;

//使用滑动类型。缺省则为滚动动画类型。当使用AW_CENTER标志时,这个标志就被忽略

public const Int32 AW_BLEND = 0x00080000;
//透明度从高到低

private void MainFM_Load(object sender, EventArgs e)

{

//淡入效果

AnimateWindow(this.Handle, 3000, AW_BLEND | AW_ACTIVATE);

}

private void MainFM_FormClosing(object sender, FormClosingEventArgs e)

{

//淡出

AnimateWindow(this.Handle, 3000, AW_BLEND | AW_HIDE);

}

----------------------------------------------------------------------------------

Dev中的 GridControl

固定某一列始终显示

BandedGridView view = advBandedGridView1 as AdvBandedGridView;

GridBand bindSTCD = view.Bands.AddBand("站点信息");

bindSTCD.Fixed = FixedStyle.Left;

设置某列的Fixed 的属性为Left即可

----------------------------------------------------------------------------------

保留小数

string result = String.Format("{0:N2}", 0.55555);//N几就几位

注意:后面必须跟数字类型的变量不能是string等字符串

----------------------------------------------------------------------------------

指定DateTime显示时间

this.xxx.DateTime = New DateTime(2004,1,1);

----------------------------------------------------------------------------------

获得文件夹下的所有文件名称

string btopPath = Application.StartupPath + @"\SaveData\BTOP";

DirectoryInfo mydir = new DirectoryInfo(btopPath);

foreach (FileInfo item in mydir.GetFiles())

{

MessageBox.Show(item.FullName);

}

----------------------------------------------------------------------------------

遍历文件夹下所有文件,并读取三行,匹配xxxxxxxxxx是个数字组成的项

private static void LoadTime(int time1, int time2)

{

string btopPath = Application.StartupPath + @"\SaveData\BTOP";

DirectoryInfo mydir = new DirectoryInfo(btopPath);

string data = "";

foreach (FileInfo item in mydir.GetFiles())

{

using (StreamReader sr = new StreamReader(item.FullName))

{

for (int i = 0; i < 3; i++)

{

data += sr.ReadLine() + " ";

}

string rege = @"\d{10}";

bool b = true;

foreach (Match mm in Regex.Matches(data, rege, RegexOptions.IgnoreCase))

{

if (b == true)

{

b = false;

time1 = int.Parse(mm.Value);

time1 = int.Parse(time1.ToString().Substring(0, 4));

}

else

{

time2 = int.Parse(mm.Value);

time2 = int.Parse(time2.ToString().Substring(0, 4));

}

}

}

//MessageBox.Show(mydir.FullName);

}

}

时间: 2024-10-08 11:43:23

WinForm&&DEV知识小结的相关文章

awk基础知识小结(1)

1.使用规则 awk 适合于文本处理和报表生成,它还有许多精心设计的特性,允许进行需要特殊技巧程序设计. awk  的语法较为常见.它借鉴了某些语言的一些精华部分,如C 语言.python 和 bash. 第一个 awk 让我们继续,开始使用 awk,以了解其工作原理.在命令行中输入以下命令: $ awk '{ print }'  /etc/passwd 您将会见到 /etc/passwd 文件的内容出现在眼前.现在,解释 awk 做了些什么.调用 awk 时,我们指定  /etc/passwd

awk基础知识小结(2)

10.循环结构循环结构awk 的 while 循环结构,它等同于相应的 C 语言 while 循环.awk 还有 "do...while" 循环,它在代码块结尾处对条件求值,而不象标准 while 循环那样在开始处求值.它类似于其它语言中的 "repeat...until" 循环.示例:do...while 示例 {     count=1     do {    print "I get printed at least once no matter w

C/C++ 位域知识小结

C/C++ 位域知识小结 几篇较全面的位域相关的文章: http://www.uplook.cn/blog/9/93362/ C/C++位域(Bit-fields)之我见 C中的位域与大小端问题 内存对齐全攻略–涉及位域的内存对齐原则 本文主要对位域相关知识进行了一下梳理,参考如下: C语言中的位域 史上最全的C位域总结2 C结构体之位域(位段) C/C++中以一定区域内的位(bit)为单位来表示的数据成为位域,位域必须指明具体的数目. 位域的作用主要是节省内存资源,使数据结构更紧凑. 1. 一

suid知识小结

1.1.1 suid知识小结:针对命令和二进制程序 1)用户或属主对应的前三位权限的x位上如果有s就表示suid权限.当x位上没有小写x执行权限的时候,suid的权限显示的就是大S. 2)suid作用是让普通用户可以以root(或其他)的用户角色运行只有root(或其他)账号才能运行的程序或命令,或程序命令对应本来没有权限操作的文件等.(注意和su及sudo的区别),suid为某个命令设置特殊权限(使用者为所有人).通过给rm命令设置suid加深学生对suid的理解. 3)问题:希望oldboy

DEV GridControl小结

1. 如何解决单击记录整行选中的问题 View->OptionsBehavior->EditorShowMode 设置为:Click 2. 如何新增一条记录 (1).gridView.AddNewRow() (2).实现 gridView_InitNewRow 事件 3.如何解决 GridControl 记录能获取而没有显示出来的问题 gridView.populateColumns(); 4.如何让行只能选择而不能编辑(或编辑某一单元格) (1).View->OptionsBehavi

javascript之正则表达式基础知识小结

javascript之正则表达式基础知识小结,对于学习正则表达式的朋友是个不错的基础入门资料. 元字符 ^ $ . * + ? = ! : | \ / ( ) [ ] { } 在使用这些符号时需要用“\”来进行转移. 如果记不清楚那些标点符号需要转移,可以在使用标点符号时都使用反斜杠“\” 简单匹配 1.直接量 /javascript/ 匹配带有“javascript”的字符串 比如“javascript is an object-oriented scripting language” 2.[

Dev GridControl 小结3

Dev GridControl 小结 时间 2014-03-26 19:24:01  CSDN博客 原文  http://blog.csdn.net/jiankunking/article/details/22202753 主题 .Net //删除记录 this.gridView1.DeleteSelectedRows(); //添加记录 this.gridView1.AddNewRow(); 1.确认当前正在编辑的单元格的输入 this.gridview1.CloseEditor(); 2.得

Android app开发知识小结

Android知识小结 这是一个知识的总结,所以没有详解的讲解. 一.分辨率Android中dp长度.sp字体使用.px像素.in英寸.pt英寸1/72.mm毫米 了解dp首先要知道density,density是一个抽象的单位,density值表示每英寸有多少个显示点,与分辨率是两个概念QVGA屏density=120         QVGA(240*320)HVGA屏density=160         HVGA(320*480)WVGA屏density=240        WVGA(

关闭selinux知识小结

今天有人问我,哎,福星,关闭selinux这块我还有点蒙,能给我分析分析么? selinux是什么? 1.     我的简单理解:selinux是一套安全的机制,在学习环境下建议关闭,功能方面可以一些机制所替代.比如防火墙等系列安全措施 selinux一定要关闭么? 1.     没有基础又不愿意倘坑的小伙伴可以关闭,工作中环境大都不开启 2.     开启的坏处是使用中需要倘很多的坑,如果有面对困难的勇气,那就别管它 修改selinux运行状态的相关 setenforce  1 | 0