c#开发windows应用程序几个小技巧

最近,我在用.net做一个c/s的项目,把我做的情况给大家说说。
datagrid是用的c1控件的c1FlexGrid,功能很多。
c#开发windows应用程序几个小技巧
自定义分组和outlook形式的列头拖拽。

textbox,combobox,checkbox是继承.net自带的控件,自己扩展的。
现在说一说碰到的几个问题,及解决方法:
1.一个应用程序只能被用户打开一次
c#开发windows应用程序几个小技巧 Process mobj_pro =Process.GetCurrentProcess();
c#开发windows应用程序几个小技巧            Process[] mobj_proList
=Process.GetProcessesByName(mobj_pro.ProcessName);
c#开发windows应用程序几个小技巧            
if(mobj_proList.Length>1)
c#开发windows应用程序几个小技巧c#开发windows应用程序几个小技巧            
c#开发windows应用程序几个小技巧{
c#开发windows应用程序几个小技巧                MessageBox.Show(
"当前的应用程序已打开!""系统提示", MessageBoxButtons.OK, MessageBoxIcon.Exclamation, MessageBoxDefaultButton.Button1);
c#开发windows应用程序几个小技巧                
return;
c#开发windows应用程序几个小技巧            }

2.一个框架窗口下只打开一个子窗口
c#开发windows应用程序几个小技巧CustomerAdd pobj_CustomerAdd;  
c#开发windows应用程序几个小技巧            Form pobj_CustomerAdd_Return
=CheckIsExit("CustomerAdd");
c#开发windows应用程序几个小技巧            
if(pobj_CustomerAdd_Return==null)
c#开发windows应用程序几个小技巧c#开发windows应用程序几个小技巧            
c#开发windows应用程序几个小技巧{
c#开发windows应用程序几个小技巧                pobj_CustomerAdd
=new CustomerAdd();
c#开发windows应用程序几个小技巧                OpenSheet(pobj_CustomerAdd);
c#开发windows应用程序几个小技巧            }

c#开发windows应用程序几个小技巧            
else
c#开发windows应用程序几个小技巧c#开发windows应用程序几个小技巧            
c#开发windows应用程序几个小技巧{
c#开发windows应用程序几个小技巧                OpenSheet((CustomerAdd)pobj_CustomerAdd_Return);
c#开发windows应用程序几个小技巧            }
  

c#开发windows应用程序几个小技巧void OpenSheet(Form pobj_form)
c#开发windows应用程序几个小技巧c#开发windows应用程序几个小技巧        
c#开发windows应用程序几个小技巧
c#开发windows应用程序几个小技巧            pobj_form.MdiParent
=this;
c#开发windows应用程序几个小技巧            pobj_form.Show(); 
c#开发windows应用程序几个小技巧        }

c#开发windows应用程序几个小技巧
c#开发windows应用程序几个小技巧c#开发windows应用程序几个小技巧        
/**//// <summary>
c#开发windows应用程序几个小技巧        
/// 判断窗口是否存在
c#开发windows应用程序几个小技巧        
/// </summary>
c#开发windows应用程序几个小技巧        
/// <param name="ps_windowName">窗口的名称</param>
c#开发windows应用程序几个小技巧        
/// <returns>存在返回此窗口的实例 不存在返回null</returns>

c#开发windows应用程序几个小技巧        Form CheckIsExit(string ps_windowName)
c#开发windows应用程序几个小技巧c#开发windows应用程序几个小技巧        
c#开发windows应用程序几个小技巧{
c#开发windows应用程序几个小技巧            
for(int i=0;i<this.MdiChildren.Length;i++)
c#开发windows应用程序几个小技巧c#开发windows应用程序几个小技巧            
c#开发windows应用程序几个小技巧{
c#开发windows应用程序几个小技巧                
if(this.MdiChildren[i].Name==ps_windowName)
c#开发windows应用程序几个小技巧c#开发windows应用程序几个小技巧                
c#开发windows应用程序几个小技巧{
c#开发windows应用程序几个小技巧                    
return this.MdiChildren[i];
c#开发windows应用程序几个小技巧                }

c#开发windows应用程序几个小技巧            }

c#开发windows应用程序几个小技巧            
return null;
c#开发windows应用程序几个小技巧        }

3.弹出式窗口显示渐变效果
在页面上添加一个timer控件fadeTimer,interval设为50
类的实例变量为
private m_showing=true;
在form_load中写:
c#开发windows应用程序几个小技巧Opacity = 0.0;
c#开发windows应用程序几个小技巧            Activate();
c#开发windows应用程序几个小技巧            Refresh();
c#开发windows应用程序几个小技巧            fadeTimer.Start();
c#开发windows应用程序几个小技巧            Refresh();    
在timer控件的Tick事件中写:

c#开发windows应用程序几个小技巧if (m_showing)
c#开发windows应用程序几个小技巧c#开发windows应用程序几个小技巧            
c#开发windows应用程序几个小技巧{
c#开发windows应用程序几个小技巧                
double d = 1000.0 / fadeTimer.Interval / 100.0;
c#开发windows应用程序几个小技巧                
if (Opacity + d >= 1.0)
c#开发windows应用程序几个小技巧c#开发windows应用程序几个小技巧                
c#开发windows应用程序几个小技巧{
c#开发windows应用程序几个小技巧                    Opacity 
= 1.0;
c#开发windows应用程序几个小技巧                    fadeTimer.Stop();
c#开发windows应用程序几个小技巧                }

c#开发windows应用程序几个小技巧                
else
c#开发windows应用程序几个小技巧c#开发windows应用程序几个小技巧                
c#开发windows应用程序几个小技巧{
c#开发windows应用程序几个小技巧                    Opacity 
+= d;
c#开发windows应用程序几个小技巧                }

c#开发windows应用程序几个小技巧            }

c#开发windows应用程序几个小技巧            
else
c#开发windows应用程序几个小技巧c#开发windows应用程序几个小技巧            
c#开发windows应用程序几个小技巧{
c#开发windows应用程序几个小技巧                
double d = 1000.0 / fadeTimer.Interval / 100.0;
c#开发windows应用程序几个小技巧                
if (Opacity - d <= 0.0)
c#开发windows应用程序几个小技巧c#开发windows应用程序几个小技巧                
c#开发windows应用程序几个小技巧{
c#开发windows应用程序几个小技巧                    Opacity 
= 0.0;
c#开发windows应用程序几个小技巧                    fadeTimer.Stop();
c#开发windows应用程序几个小技巧                }

c#开发windows应用程序几个小技巧                
else
c#开发windows应用程序几个小技巧c#开发windows应用程序几个小技巧                
c#开发windows应用程序几个小技巧{
c#开发windows应用程序几个小技巧                    Opacity 
-= d;
c#开发windows应用程序几个小技巧                }

c#开发windows应用程序几个小技巧            }

4.在控件textbox中实现按回车键相当于tab键的作用
c#开发windows应用程序几个小技巧public class OSTextBox:TextBox
c#开发windows应用程序几个小技巧c#开发windows应用程序几个小技巧    
c#开发windows应用程序几个小技巧{
c#开发windows应用程序几个小技巧        
public OSTextBox()
c#开发windows应用程序几个小技巧c#开发windows应用程序几个小技巧        
c#开发windows应用程序几个小技巧{
c#开发windows应用程序几个小技巧            
c#开发windows应用程序几个小技巧        }

c#开发windows应用程序几个小技巧
c#开发windows应用程序几个小技巧        
bool mb_IsKeyEnter=true;
c#开发windows应用程序几个小技巧
c#开发windows应用程序几个小技巧        [
c#开发windows应用程序几个小技巧        Category(
"Data"),
c#开发windows应用程序几个小技巧        DefaultValue(
true),
c#开发windows应用程序几个小技巧        MergableProperty(
false)
c#开发windows应用程序几个小技巧        ]
c#开发windows应用程序几个小技巧        
public bool IsKeyEnter
c#开发windows应用程序几个小技巧c#开发windows应用程序几个小技巧        
c#开发windows应用程序几个小技巧{
c#开发windows应用程序几个小技巧            
get
c#开发windows应用程序几个小技巧c#开发windows应用程序几个小技巧            
c#开发windows应用程序几个小技巧{
c#开发windows应用程序几个小技巧                
return mb_IsKeyEnter;
c#开发windows应用程序几个小技巧            }

c#开发windows应用程序几个小技巧            
set
c#开发windows应用程序几个小技巧c#开发windows应用程序几个小技巧            
c#开发windows应用程序几个小技巧{
c#开发windows应用程序几个小技巧                mb_IsKeyEnter
=value;
c#开发windows应用程序几个小技巧            }

c#开发windows应用程序几个小技巧        }

c#开发windows应用程序几个小技巧
c#开发windows应用程序几个小技巧        
protected override void OnKeyPress(KeyPressEventArgs e)
c#开发windows应用程序几个小技巧c#开发windows应用程序几个小技巧        
c#开发windows应用程序几个小技巧{
c#开发windows应用程序几个小技巧            
base.OnKeyPress (e);
c#开发windows应用程序几个小技巧            
if(mb_IsKeyEnter)
c#开发windows应用程序几个小技巧c#开发windows应用程序几个小技巧            
c#开发windows应用程序几个小技巧{
c#开发windows应用程序几个小技巧                
if (e.KeyChar == (char)Keys.Enter)
c#开发windows应用程序几个小技巧c#开发windows应用程序几个小技巧                
c#开发windows应用程序几个小技巧{
c#开发windows应用程序几个小技巧                    SendKeys.Send(
"{Tab}");
c#开发windows应用程序几个小技巧                }

c#开发windows应用程序几个小技巧            }

c#开发windows应用程序几个小技巧        }

c#开发windows应用程序几个小技巧
c#开发windows应用程序几个小技巧    }

还有很多东西,正在研究中,比如发票套打在c/s中的实现,用.net读取IC卡等,等完成了再给大家共享

转载于:https://www.cnblogs.com/martinxj/archive/2004/07/23/26969.html