169it科技资讯


当前位置:  编程技术>.net/c#/asp.net

WinForm实现同时让两个窗体有激活效果的特效实例

    来源: 互联网  发布时间:2014-11-04

本文实例讲述了WinForm实现同时让两个窗体有激活效果的特效。主要采用windows api实现一个窗体激活的时候给另外一个发消息。分享给大家供大家参考。

具体实现方法如下:

using System; 
using System.Windows.Forms; 
using System.Runtime.InteropServices; 
namespace WindowsApplication43 
{ 
  public partial class Form1 : Form 
  { 
    Form frm =null; 
    public Form1() 
    { 
      InitializeComponent(); 
      this.Activated += Form_Activated; 
    } 
    const int WM_NCACTIVATE = 0x86; 
    const int WA_ACTIVE = 0x1; 
    [DllImport("user32.dll", EntryPoint = "SendMessage")] 
    public static extern int SendMessage(IntPtr hWnd, int wMsg, int wParam, int lParam); 
    private void button1_Click(object sender, EventArgs e) 
    { 
      frm = new Form(); 
      frm.Text = "jinjazz"; 
      frm.Activated += Form_Activated; 
      frm.Show(); 
      frm.Location = new System.Drawing.Point(this.Left + this.Width, this.Top); 
      SendMessage(this.Handle, WM_NCACTIVATE, WA_ACTIVE, 0); 
    } 
    void Form_Activated(object sender, EventArgs e) 
    { 
 
      SendMessage(this.Handle, WM_NCACTIVATE, WA_ACTIVE, 0); 
 
      if (frm != null) 
 
        SendMessage(frm.Handle, WM_NCACTIVATE, WA_ACTIVE, 0); 
    } 
  } 
}

希望本文所述对大家的C#程序设计有所帮助。


    
相关技术文章:
    ▪WinForm实现拦截窗体上各个部位的点击特效实例

     本文实例讲述了WinForm实现拦截窗体上各个部位的点击特效,是一个非常实用的技巧。分享给大家供大家参考。具体分析如下: 一般来说,windows窗体的标题栏无法直接通过一些默认的事件来控制,需要了解和WM_NCHITTEST相关的windows消息。 以下示例演示了最简单的效果片断:他会把客户区和标题栏的效果互换,比如无法按住标题栏拖动窗体而是改为了按住客户区拖动,并禁用了关闭按钮。 其中m.Result从-2到21都有定义,分别对应了整个窗体的各个部位,比如1代表客户区,8代表最小化按钮等等。 具体功能代码如下: ......


    ▪用C#的params关键字实现方法形参个数可变示例

     个人认为,提供params关键字以实现方法形参个数可变是C#语法的一大优点。在方法形参列表中,数组类型的参数前加params关键字,通常可以在调用方法时代码更加精练。 例如,下面代码: class Program { static void Main(string[] args) { Console.WriteLine(Sum(1)); Console.WriteLine(Sum(1, 2, 3)); Console.WriteLine(Sum(1, 2, 3, 4, 5)); Console.ReadKey(); } private static int Sum(params int[] values) { int sum = 0; foreach (int value in values) sum += value; return sum; } } 实现了一个Sum方法,用于接收一组整数,并返回它们的和。参数values被加上para......


    ▪C#判断某程序是否运行的方法

     本文实例讲述了C#判断某程序是否运行的方法,分享给大家供大家参考。 具体实现方法如下: [DllImport("user32.dll")] private static extern bool SetForegroundWindow(IntPtr hWnd); [DllImport("user32.dll")] private static extern bool ShowWindowAsync(IntPtr hWnd, int nCmdShow); [DllImport("user32.dll")] private static extern bool IsIconic(IntPtr hWnd); // 消息函数 [DllImport("user32.dll", EntryPoint = "PostMessageA")] public static extern bool PostMessage(IntPtr hWnd, int Msg, int wParam, int lParam); [DllImport("user32.dll")] public static extern IntPtr FindWindow(string strclassName, string strWindowName); [DllImportAttribute("use......


 
最新技术文章:
    ▪C#通过IComparable实现ListT.sort()排序

     本文实例讲述了C#通过IComparable实现ListT.sort()排序的方法,分享给大家供大家参考之用。具体方法如下: 通常来说,List<T>.sort()可以实现对T的排序,比如List<int>.sort()执行后集合会按照int从小到大排序。如果T是一个自定义的Object,可是我们想按照自己的方式来排序,那该怎么办呢,其实可以用过IComparable接口重写CompareTo方法来实现。流程如下: 一、第一步我们申明一个类Person但是要继承IComparable接口: using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace TestIC......


    ▪C#实现对Json字符串处理实例

     本文实例讲述了C#实现对Json字符串处理方法,分享给大家供大家参考。具体分析如下: 一般对于web应用开发人员来说对Json字符串都会很熟悉,其实在很多请求我们返回的都是Json字符串。那对于C#代码如何处理Json字符串呢,.Net封装了一个类叫做JavaScriptSerializer[MSDN Library 链接:http://msdn.microsoft.com/en-us/library/ee191864(v=vs.110).aspx];这个类提供了一个方法。 下面这个是在快递100往抓取的一个圆通的快递信息。对于我们有用的信息是快递时间,快递状况。那我该如何来做。  ......


    ▪Winform实现抓取web页面内容的方法

     本文以一个非常简单的实例讲述了Winform实现抓取web页面内容的方法,代码简洁易懂,非常实用!分享给大家供大家参考。 具体实现代码如下: WebRequest request = WebRequest.Create("http://1.bjapp.sinaapp.com/play.php?a=" + PageUrl); WebResponse response = request.GetResponse(); Stream resStream = response.GetResponseStream(); StreamReader sr = new StreamReader(resStream, System.Text.Encoding.UTF8); string htmlinfo = sr.ReadToEnd(); resStream.Close(); sr.Close(); 感兴趣的朋友可以测试运行或改进本文实例。希望本文所述对大家C#程序设计的学习有所帮助。 ......


 


站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2017,169IT.COM,E-mail:www_169it_com#163.com(请将#改为@)

浙ICP备11055608号