小编red*_*nzz的帖子

检测富文本框内是否发生粘贴事件

有没有办法可以找出富文本框中是否发生剪贴板粘贴事件?此事件将用于使用粘贴的文本块执行某些操作.

谢谢

这是我的代码

 protected override void WndProc(ref System.Windows.Forms.Message m)
    {
        if (m.Msg == WM_PASTE)
        {
            OnPasteOccurred();
            MessageBox.Show("Pas");
        }
        if (m.Msg == 0x000F)
        {
            if (PaintControl)
            {
                base.WndProc(ref m);
            }
            else
            {
                m.Result = IntPtr.Zero;
            }
        }
        else
        {
            base.WndProc(ref m);
        }
    }
Run Code Online (Sandbox Code Playgroud)

编辑

我希望基于粘贴事件做一些语法突出显示或缩进,这个特定的代码编辑器似乎非常有效.我不知道它是怎么做的.在这个特定方向需要帮助.我很确定必须有一些原生的Win32代码或类似的东西可以截取.我试过追踪键,鼠标事件并不是很漂亮.

.net c# richtextbox winforms

12
推荐指数
1
解决办法
2万
查看次数

防止事件C#冒泡

假设我有KeyPress各种类订阅的事件.假设A类也在KeyPress表格上订阅而B类也订阅KeyPress

现在我希望这些类中只有一个应该处理Form在运行时触发的事件.那就是说A级首先处理,我尝试过使用e.Handled = true但在这种情况下没有帮助.

如果A类已经处理过,我不希望B类处理从表单中触发的事件,我目前有一个解决方法,涉及在A和B中设置一些公共标志,但这不是软件工程原理的好主意,我希望这些类尽可能彼此独立,但同时应该知道事件已经处理过,不需要再次处理.

那可能吗?

是的,有可能,需要检查e.Handled == true,.NET负责其余的事情:-)

.net c# windows

11
推荐指数
1
解决办法
8114
查看次数

VBScript部分解析器

我正在尝试创建一个VBScript解析器.我想知道最好的方法是什么.我研究过和研究过.最流行的方式似乎是像Gold Parser或ANTLR这样的东西.

我想实现的功能是动态检查VBScript中的语法错误.每次文本更改时,我都不想编译整个VBS.我该怎么做呢?我尝试使用Gold Parser,但我认为没有增量方法可以通过它进行解析,比如部分解析树...有关如何为这种情况实现部分解析树的任何想法?

我通过GOLD Parser实现了VBscript Parsing.但是它仍然不是部分解析器,在每次文本更改后解析整个脚本.有没有办法建立这样的东西.

THKS

vbscript parsing antlr gold-parser

6
推荐指数
1
解决办法
3754
查看次数

从proguard Android Gradle Buildscript中排除某些模块

我有以下形式的项目结构:

Root Project +------ Module A +------ Module B 现在模块B是一个庞大的项目,但我使用API​​来访问它,所以我想在运行时加载模块B的类.因此我想编译它,但在一个单独的DEX文件中.我可以通过以下要点编译一个单独的DEX文件:

https://gist.github.com/nickcaballero/7045993

在调试编译模式下,这工作正常,因为可以通过此表单中的buildscript更改DEXed库

def libraryFiles = new ArrayList<?>()
        variant.dex.libraries.each {
            File file ->
                // Exclude Module B from Dex library list
                if (!file.absolutePath.contains("ModuleB/unspecified/classes.jar")) {
                    libraryFiles.add(file);
                }
        }

        variant.dex.libraries = libraryFiles
Run Code Online (Sandbox Code Playgroud)

现在这很好用,因为当不做proguard时,AndroidBuilder简单地用于variant.dex.libraries创建DEX文件并将其排除很容易.当需要做中级班的进步时,痛苦就来了.由于ModuleB是编译时依赖(为了资源集成/布局等),因此它的类被编译到构建目录中.

但是,当它进入程序时,Android Builder中定义的默认proguard任务会将classes.jar文件作为libraryJars.

最后,任务创建classes-proguard包含上述库Jars中的所有类.然后得到DEXed,并且通过Runtime加载的类存在于其中.有没有办法排除某些罐子没有被送入默认的proguard任务?

java android proguard gradle

6
推荐指数
0
解决办法
828
查看次数

构建基于正则表达式的解析器

构建基于正则表达式的解析器是愚蠢的吗?

regex parsing

5
推荐指数
2
解决办法
5385
查看次数

Android库AAR取决于另一个库

嗨我有一个Android库项目,它生成一个AAR.

一切都很好但是当我在另一个项目中使用AAR时,我收到此错误:

java.lang.NoClassDefFoundError: com.squareup.picasso.Picasso
Run Code Online (Sandbox Code Playgroud)

AAR使用毕加索,是否可以在生成AAR时导出AAR的依赖关系?

java android library-project aar

5
推荐指数
1
解决办法
5310
查看次数

Flow中的子容器

是否有关于如何在流程中构建子容器的文档?

例如,我有一个Master,一个Detail视图.

我打算添加一个弹出视图,它将拥有它自己的backstack.弹出窗口将用作向导,要求用户完成一些设置指令并显示为弹出窗口.

类似于下面的布局,除了还有一个主容器(完全显示抽屉布局)

在此输入图像描述

怎么能实现这一目标?详细信息(或父级)容器是否需要知道弹出容器的存在?有点像这样吗?

@InjectView(R.id.master_container)
FramePathContainerView masterContainer;

@InjectView(R.id.detail_container)
FramePathContainerView detailContainer;

@InjectView(R.id.popup_container)
FramePathContainerView popupContainer;

@Override
public boolean onBackPressed() {
    return BackSupport.onBackPressed(popupContainer) 
            || BackSupport.onBackPressed(detailContainer);
}

@Override
public ViewGroup getCurrentChild() {
    Paths.MasterDetailPath showing = Path.get(getContext());
    return showing.isMaster() ? masterContainer.getCurrentChild()
            : showing.isPopup() ? popupContainer.getCurrentChild() 
            : detailContainer.getCurrentChild();
}
Run Code Online (Sandbox Code Playgroud)

是应该做什么的?思考?

android mortar square-flow

5
推荐指数
0
解决办法
198
查看次数

将嵌套的 ArrayList 转换为 Java List

我有这个方法

public List<List<Stat>> ConvertReportCases (ArrayList<ArrayList<Stat>> stats)
Run Code Online (Sandbox Code Playgroud)

它是一个接口实现,返回类型为List<List<Stat>>. 一般来说,如何在 Java 中将嵌套的 ArrayList 转换为 List?

谢谢

编辑 感谢您的建议,我可以将我的参数作为列表传递,但这样就会出错,因为调用者必须将其作为列表传递,而在我的特殊情况下,我可以有不同的版本(多态性)来检查这个问题。

java arraylist

4
推荐指数
1
解决办法
1786
查看次数

使用MySQL测试为Django示例.travis

需要一个.travis示例yaml文件,用于对Django上的mysql查询进行单元测试.

python django travis-ci

2
推荐指数
1
解决办法
1326
查看次数