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);
    }
  }
}

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索int
, 窗体
, sendmessage
, this
, system
, frm
, 窗体激活
wa
,以便于您获取更多的相关知识。

时间: 2024-12-23 01:14:48

WinForm特效:同时让两个窗体有激活效果的相关文章

在做c# winform 主窗体开了两个窗体Form,希望两个窗体的定时器同步进行

问题描述 在做c# winform 主窗体开了两个窗体Form,希望两个窗体的定时器同步进行 在做c# winform 主窗体开了两个窗体Form(窗体里面有个定时器Forms.timer),希望两个窗体的定时器同时进行,可是执行的时候第二个执行完成,第一个才开始执行,没有两个一起执行的效果,如何解决,c#的三个线程我都试过,不好用,谁有好的解决方法?求大神 主窗体button1按钮,开了两个相同的form2 private void button1_Click(object sender, E

Javascript showModalDialog两个窗体之间传值_javascript技巧

Javascript 两个窗体之间传值实现代码javascript中还有一个函数window.showModalDialog也可以打开一个新窗体,不过他打开的是一个模态窗口,那么如何在父窗体和子窗体之间传值呢?我们先看该函数的定义:vReturnValue = window.showModalDialog(sURL [, vArguments] [,sFeatures]) 参数说明: sURL--必选参数,类型:字符串.用来指定对话框要显示的文档的URL. vArguments--可选参数,类型

窗体属性-C#VS2010两个窗体修改一个窗体的Name属性另一个窗体Name属性也会修改,请问怎么调过来

问题描述 C#VS2010两个窗体修改一个窗体的Name属性另一个窗体Name属性也会修改,请问怎么调过来 C#VS2010两个窗体修改一个窗体的Name属性另一个窗体Name属性也会修改,请问怎么调过来 解决方案 两个独立的窗体?如果是,不应该会出现你所说的现象啊! 且,你是修改属性,也就是说在开发期.而不是运行期.你是不是同时选中了两个窗体啊. 解决方案二: 怎么会有同名的窗体? 解决方案三: 单从描述无法判断,请把你的代码贴上来 解决方案四: 两个独立窗体,修改一个窗体属性,另一个是不会修

关于java问题-同包内有两个窗体类,如何通过一个窗体的按钮事件进入另一个窗体?

问题描述 同包内有两个窗体类,如何通过一个窗体的按钮事件进入另一个窗体? 就是做一个登录窗口和主窗口,确认用户名和密码点击登录能跳转到那个主窗口-同时关闭登录窗口-该怎么做呢??菜鸟求指点 解决方案 如何从一个窗体拖拽一个按钮到另一个窗体 解决方案二: ---biu~biu~biu~~~ 解决方案三: 首先在你的登录窗体应该会有一个登录按钮, 双击登录按钮即可进入单击事件,在单击事件中创建一个主窗体的对象 比如:你的主窗体的窗体名叫FrmMain FrmMain frm=new FrmMain(

winform-新手求指教 Winform Entity Framework 我在每个窗体里这么写合适吗?

问题描述 新手求指教 Winform Entity Framework 我在每个窗体里这么写合适吗? 和MVC的写法一样 namespace TestWinForm.ViewForms.ViewAll { public partial class ViewPlansForm : Form { TestEntities db = new TestEntities(); public ViewPlansForm() { InitializeComponent(); } private void ba

netbean6.8开始建立项目时的两个窗体,必须删掉吗?

问题描述 我是菜鸟,我建立一个新的项目后出现两个窗体,请问大虾,这两个窗体,有必要删掉吗? 解决方案 解决方案二:我用的是netbean6.8版本

C# Winform项目,如何将form窗体进行个性化的定制

问题描述 C# Winform项目,如何将form窗体进行个性化的定制 在C# Winform项目中,需要将form窗体实现如下要求: 1.需要将form窗体绘制成圆形 2.将绘制成圆形的窗体由三条斜线分割成三等分的扇形,组成一个圆形窗体.注:(每个角为120度) 3.需要在圆形窗体的每个扇形区域内添加图形以及在每个扇形区域内添加相应的Click点击事件,用来执行对应的业务代码逻辑. 点击每个扇形区域内有凹下去的感觉,表示已经点击了该扇形的区域,没有点击的扇形区域形状保持不变. 注:(共三个扇形

两个窗体传参的问题

问题描述 有两个窗体主窗体A和子窗体B我在窗体B中添加了对主窗体类型变量,并在实例化窗体B时,对B窗体中的主窗体类型变量进行赋值,代码大概如下:publicclassA:Window{inti;CollectionViewSourcecvs_Menulist;A(){this.InitializeComponent();i=0;cvs_Menulist=//实例化代码省略}privatecvs_Menulist(objectsender,FilterEventArgse){//省略}public

我使用C#winform 多线程自动定时弹出新窗体,但是窗体一直忙

问题描述 我使用C#winform多线程自动定时弹出新窗体,但是窗体一直忙.我比如定时5秒钟弹出一个新窗体,但是一直都是忙的状态,我无法对新窗体操作,即使改为1分钟弹一次也没有办法,怎么办? 解决方案 解决方案二:面对这样的提问方式,我只能回答:凉拌解决方案三:如果线程不是UI主线程的话,操作窗体需要用委托调用的,你可以用异步委托,到时间就弹出一个窗体解决方案四:代码如下Form1frm;privatevoidbutton1_Click(objectsender,EventArgse){vart