zoukankan      html  css  js  c++  java
  • c#开发windows应用程序几个小技巧

    From:
    http://elevenwolf.cnblogs.com/archive/2004/07/23/26969.html

    1.一个应用程序只能被用户打开一次
    Process mobj_pro =Process.GetCurrentProcess();
                Process[] mobj_proList
    =Process.GetProcessesByName(mobj_pro.ProcessName);
                
    if(mobj_proList.Length>1)
                
    {
                    MessageBox.Show(
    "当前的应用程序已打开!""系统提示", MessageBoxButtons.OK, MessageBoxIcon.Exclamation, MessageBoxDefaultButton.Button1);
                    
    return;
                }
    2.一个框架窗口下只打开一个子窗口
    CustomerAdd pobj_CustomerAdd;  
                Form pobj_CustomerAdd_Return
    =CheckIsExit("CustomerAdd");
                
    if(pobj_CustomerAdd_Return==null)
                
    {
                    pobj_CustomerAdd
    =new CustomerAdd();
                    OpenSheet(pobj_CustomerAdd);
                }

                
    else
                
    {
                    OpenSheet((CustomerAdd)pobj_CustomerAdd_Return);
                }
      
    void OpenSheet(Form pobj_form)
            

                pobj_form.MdiParent
    =this;
                pobj_form.Show(); 
            }


            
    /**//// <summary>
            
    /// 判断窗口是否存在
            
    /// </summary>
            
    /// <param name="ps_windowName">窗口的名称</param>
            
    /// <returns>存在返回此窗口的实例 不存在返回null</returns>

            Form CheckIsExit(string ps_windowName)
            
    {
                
    for(int i=0;i<this.MdiChildren.Length;i++)
                
    {
                    
    if(this.MdiChildren[i].Name==ps_windowName)
                    
    {
                        
    return this.MdiChildren[i];
                    }

                }

                
    return null;
            }

    3.弹出式窗口显示渐变效果
    在页面上添加一个timer控件fadeTimer,interval设为50
    类的实例变量为
    private m_showing=true;
    在form_load中写:
    Opacity = 0.0;
                Activate();
                Refresh();
                fadeTimer.Start();
                Refresh();    
    在timer控件的Tick事件中写:
    if (m_showing)
                
    {
                    
    double d = 1000.0 / fadeTimer.Interval / 100.0;
                    
    if (Opacity + d >= 1.0)
                    
    {
                        Opacity 
    = 1.0;
                        fadeTimer.Stop();
                    }

                    
    else
                    
    {
                        Opacity 
    += d;
                    }

                }

                
    else
                
    {
                    
    double d = 1000.0 / fadeTimer.Interval / 100.0;
                    
    if (Opacity - d <= 0.0)
                    
    {
                        Opacity 
    = 0.0;
                        fadeTimer.Stop();
                    }

                    
    else
                    
    {
                        Opacity 
    -= d;
                    }

                }


    4.在控件textbox中实现按回车键相当于tab键的作用
    public class OSTextBox:TextBox
        
    {
            
    public OSTextBox()
            
    {
                
            }


            
    bool mb_IsKeyEnter=true;

            [
            Category(
    "Data"),
            DefaultValue(
    true),
            MergableProperty(
    false)
            ]
            
    public bool IsKeyEnter
            
    {
                
    get
                
    {
                    
    return mb_IsKeyEnter;
                }

                
    set
                
    {
                    mb_IsKeyEnter
    =value;
                }

            }


            
    protected override void OnKeyPress(KeyPressEventArgs e)
            
    {
                
    base.OnKeyPress (e);
                
    if(mb_IsKeyEnter)
                
    {
                    
    if (e.KeyChar == (char)Keys.Enter)
                    
    {
                        SendKeys.Send(
    "{Tab}");
                    }

                }

            }


        }

    这些都是值得总结使用的
  • 相关阅读:
    2018年产品设计协作领域最强黑马居然是它?
    中小企业网页设计,轻松拓展网络市场
    那些年,UI设计师还在手工标注和切图时走的弯路
    据说,攻城狮也可以像设计狮一样切图了?
    拼图类APP原型模板分享——简拼
    UI设计初学者必看,这款设计神器教你快速入门
    设计交付指南:设计师与开发如何才能好好协作?
    用户体验设计师面试中可能会问及的10个高频问题
    产品,设计和开发,高效协同只差一份文档
    素数
  • 原文地址:https://www.cnblogs.com/jhtchina/p/334834.html
Copyright © 2011-2022 走看看