首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

【C#】组件分享:FormDragger窗体拖拽

拖拽的地方包括不限于: 窗体、Panel、GroupBox、TabControl等容器控件的空白区; 菜单栏、工具栏、状态栏等bar的空白区,以及无效项目; Label、PictureBox、ProgressBar...可向其中添加或移除控件实例,处于列表中的控件不接受拖拽 List ExcludeControls { get; } //事件:准备拖拽时发生,可用e.Cancel = true取消拖拽...EnabledChanged; 使用挺简单,随时随地FormDragger.Enabled = true/false就能开闭拖拽功能,比如在Main函数中就可以开好,完了程序内的所有自建窗体就可以愉快的拖拽了...,但是,像消息框MessageBox、各种对话框(如打开文件对话框)等由系统提供的窗体不能拖,原因是这些窗口的消息不进入程序,需要勾子才能捕获到,犯不着(其实方案里已经实现了一个DialogDragger.cs...原理: 利用Application.AddMessageFilter向程序加入消息过滤器,拦截并处理发往程序窗体的鼠标左键单击消息,若满足逻辑,则拦下该消息,并往控件所在的窗体发送点击标题栏的消息,达到点击该控件时系统认为是点到窗体标题栏的效果

1.5K20

WPF窗体中控件移动 + 拖拽大小 + 动画拖动

使用方法[这是在一个窗体的后台代码]: //实例化对象 public DragControlsHelper dragControlsHelper = new DragControlsHelper...(); //执行以下方法就可以拖拽了[this属于窗体的对象,小范围拖拽可以自建布局容器] dragControlsHelper.Insert(控件的对象或者控件的Name...窗体太小时,其末尾的控件会自动换行,像Java中的流布局; [Canvas]坐标布局,基于坐标的布局,利用Canvas.Left,Canvas.Top,Canvas.Right,Canvas.Bottom...summary> /// 要拖动的控件 /// 窗体的布局容器...:意思就是这个控件是被谁包这的就传它,我一般传窗体对象,窗体包着所有的控件,小范围拖动,自行建布局容器包着要拖动的控件 public void Insert(UIElement

1.9K40
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    【NEW】WPF窗体中控件移动 + 拖拽大小 + 动画拖动

    在之前写了WPF窗体中控件移动 + 拖拽大小 + 动画拖动,但是只能在Canvas容器布局中使用 现在,新增可以在GRID中可以动画拖动了 【GRID中实现动画效果】 下载 (1).gif 【Canvas...】 使用方法[这是在一个窗体的后台代码]: //实例化对象 public DragControlsHelper dragControlsHelper = new...DragControlsHelper(); //执行以下方法就可以拖拽了[this属于窗体的对象,小范围拖拽可以自建布局容器] dragControlsHelper.Insert...窗体太小时,其末尾的控件会自动换行,像Java中的流布局; [Canvas]坐标布局,基于坐标的布局,利用Canvas.Left,Canvas.Top,Canvas.Right,Canvas.Bottom...:意思就是这个控件是被谁包这的就传它,我一般传窗体对象,窗体包着所有的控件,小范围拖动,自行建布局容器包着要拖动的控件 public void Insert(UIElement

    2.1K40

    java中如何创建窗体「建议收藏」

    今天说一说java中如何创建窗体,希望能够帮助大家进步!!!...首先,我们看一下窗体都有哪些要素,以windows下的【记事本】为例:我们新建一个记事本,会看到标题,大小,位置,关闭方式 所以我们用代码创建一个窗体,也需要这些要素,前提:在Java中创建窗体,我们需要继承...【JFrame】类,导入JFrame包 在线学习视频教程推荐:java学习视频 第二步,我们给窗体设置标题(PS:对窗体的一些设置,最好写在构造方法里,养成良好的习惯),设置标题使用setTitle(...)方法 第三步,给窗体设置大小和位置,我们可以使用setBounds()【setBounds()传入4个参数,前两个是窗体的位置,后两个是窗体的 大小】,大小和位置一起设置,也可以使用setLocation...()设置窗体的位置,使用setSize()设置窗体的大小 注意:窗体的位置,是以电脑屏幕左上角为原点(0,0)的坐标系 第四步,设置窗体的关闭方式,使用setDefaultCloseOperation

    1.4K20

    java swing开发窗体程序开发(一)GUI编程

    Java SWing就是java提供的一个类库专门用于开发窗体程序的,相对于C#的winform,java swing的开发要比C#更加麻烦,他不像C#拥有可视化的界面编辑工具 而是需要像QT一样纯代码式...java的好处就是通用性强,跨平台,这个java窗体程序做好之后,哪都可以用。然而C#的winform只能运行在有.net框架上 的平台,然而.net支持最好的,也就只有windows了。...C#的开发效率更高 以下讲解Java swing的开发 (一)第一个java swing程序 public static void main(String[] args) {...运行的效果如下 (二)带有菜单栏,菜单条,和子菜单的窗体程序 首先要知道几个常见类和函数 JMenuBar:代表菜单条,他需要被设置给JFrame窗体中 JMenu:代表菜单,他需要被放在菜单条中...下面介绍最重要的”事件” 可以关注我的博客,观看后续学习记录 下一节:java swing 窗体程序开发(二)事件(Action,Item,Document) https://blog.csdn.net

    2.8K30

    《IntelliJ IDEA 插件开发》第二节:开发摸鱼看书的侧边栏窗体

    但目前在 IDEA 中开发这样的功能只需要拖拽窗体就可以,还是蛮容易的。...创建 UI 窗体 2.1 创建方式 New -> Swing UI Designer -> GUI Form 在 Java 中创建窗体的方式主要有 AWT、Swing、JavaFx,由于 IDEA 使用...那么这里 Swing 窗体的创建可以是自己手写窗体结构,也可以使用可视化拖拽的 GUI Form 如果你的窗体不复杂,其实拖拽的方式就可以满足使用。...最终这里的代码标签代码会展示到 SettingUI.java 中,而渲染内容会被隐藏,这样的方式也比较方便控制一些自定义内容的添加,例如事件和新窗体等 另外在 SettingUI.java 中,还需要在构造函数添加一个按钮事件...,也是通过拖拽到面板中,用于展示路径文件内容。

    3.9K40

    WinForm学习

    它比 C、C++、Java 提供了更多的数据类型,并且每个数据类型都是固定大小的。...2)通过工具箱中的label标签,button按钮,comboBox下拉按钮,直接在拖拽窗体中;按钮的单击事件直接双击可以跳到对应的方法中进行代码编辑;还需要修改对应标签属性中的Name,方便后续的编辑...可以通过属性中的Click指定不同按钮的相同事件 11)容器 在容器中可以放入需要的组件 12)属性 Anchor属性可以内部容器窗体的拉伸大小随外部窗体的改变而改变...Dock属性控件停靠在窗体的边缘或者填充窗体 IsMdiContainer 一个窗体设置为主窗体 ControlBox是窗体中的最大最小设置为不可见状态 AcceptButton...2.控件的使用不仅可以通过拖拽的方式实现,也可以使用代码的方式实现,添加到Controls中,然后编写相应的逻辑代码。

    3.4K11

    【愚公系列】2023年11月 Winform控件专题 MenuStrip控件详解

    《博客内容》:.NET、Java、Python、Go、Node、前端、IOS、Android、鸿蒙、Linux、物联网、网络安全、大数据、人工智能、U3D游戏、小程序等相关领域知识。...在Visual Studio中使用MenuStrip控件非常简单,只需要在窗体设计器中拖拽一个MenuStrip控件到窗体上即可。...AllowItemReorder属性允许用户通过拖拽菜单项来重新排列它们的位置。当设置为true时,用户可以拖拽菜单项来改变它们的位置。当设置为false时,则不能拖拽菜单项。...窗体右键菜单:MenuStrip可以作为窗体或控件的右键菜单,在鼠标右键点击时弹出一个下拉菜单,提供相应的功能选项。...接下来,一个MenuStrip控件(MenuStrip1)拖放到窗体(Form1)上。

    46411

    JAVA学习中Swing部分JDialog对话框窗体的简单学习

    package com.swing; import java.awt.Color; import java.awt.Container; import java.awt.event.ActionEvent...getContentPane()方法  * 窗体转化为容器,然后在容器中设置窗体的特性  *  * 3:JDialog有五种构造方法,可以用来指定标题,窗体,和模式的对话框  * @author biexiansheng...; import java.awt.Container; import java.awt.event.ActionEvent; import java.awt.event.ActionListener;...){         JFrame jf=new JFrame();//实例化一个JFrame对象         Container container=jf.getContentPane();//窗体转化为容器...");//在窗体中设置标签         jl.setHorizontalAlignment(JLabel.CENTER);//标签中的文字置于标签中间的位置         container.add

    1.8K70

    窗体UserForm——选项按钮

    还是以前面激活工作表的功能为例: 在不知道有多少个工作表的时候,如何显示一个窗体界面,出现每一个工作表名称的选项,选中后按按钮激活工作表。...由于不确定工作表的数量,所以不能通过拖拽的方式添加指定数量的控件,这时候就需要用到UserForm的Initialize事件,在UserForm初始化的时候来添加控件,首先仍然拖拽一个命令按钮在窗体的最上面...,防止工作表太多看不到 Me.Height = itop + 20 End Sub CommandButton1就是手动拖拽的命令按钮,在属性窗口里可以看到,它代表的是名称,相当于是一个变量名称...控件的Top 、Height、Left、Caption等属性,都可以通过窗体设计界面,先拖拽一个相应的控件,然后在属性窗口查看控件所具有的属性。...关键字Me,在这里就是指添加的窗体UserForm1,这个关键字还可以在类模块里使用,所代表的也就是那个类。

    1.8K10

    《IntelliJ IDEA 插件开发》第 五 节:IDEA工程右键菜单,自动生成ORM代码

    拖拽Swing面板 3. 配置鼠标右键弹窗 4. 给窗体添加功能 5. 代码生成领域服务 四、测试验证 五、总结 六、系列推荐 一、前言 都能用,都能凑活用! 一个东西好几套,为了晋升都来搞。...拖拽Swing面板 ORMSettingsUI:咱们先把用于创建代码配置的面板创建出来,有了画面,就好进入了。 面板包括生成 PO、DAO、XML 的代码路径,以及配置数据库和选择表的内容。...,这个UI窗体就是我们上面拖拽出来的配置面板,ORMSettingsUI 接下来我们还需要把这个 Action 配置到 plugin.xml 文件中,才能被右键菜单创建出来。...给窗体添加功能 这一步其实干的就是注入灵魂的事情,让窗体活起来。给输入框添加内容、给按钮添加事件、给确认按钮增加上生成创建ORM代码块的上下文。...virtualFile) { ORMSettingsUI.this.poPath.setText(virtualFile.getPath()); } }); 还记得我们提到的拖拽

    2.1K10

    2022 年 Java 何去何从?

    作者 | Nikos Vaggalis 译者 | Sambodhi 策划 | 钰莹 自从我们在《2020 年 Java 何去何从》(Where's Java Going In 2020)中深度探讨...那么,根据 JRebel 的报告,这篇《2022 年的 Java 何去何从》便出炉了。...我们认为,使用 Java 8 的开发人员的数量表明,该项目已经有很长一段时间没有更新了,这也许是应用程序保留在 Oracle 发行版中的原因。...鉴于 Spring 是占主导地位的框架,他们不是将其与 Spring Native 结合起来使用吗,Spring Native 可以让你使用 GraalVM 本机映像编译器 Spring 应用程序编译成本机映像...另一个令人失望的结果是,在一个单体分解成不同的可管理部分后,非但没有获得更好的重新部署时间,而且大多数人发现重新部署时间超过 5 分钟;还有人超过 10 分钟。

    67830
    领券