小编Pok*_*u22的帖子

创建一个带有Control + Plus快捷方式的MenuItem - 使用反射来修改MenuItem的私有字段是最好的方法吗?

我在应用程序中使用传统MainMenu控件(带MenuItems)控件,并希望实现放大和缩小菜单项(使用Control+ +Control+ -键盘快捷键).(注意我正在使用MainMenu而不是MenuStrip).MenuItem确实有一个Shortcut类型的属性,Shortcut但没有CtrlPlus选项.

我决定看一下在Shortcutreferencesource中是如何实现的,看起来每个枚举值的方式只是几个Keys枚举值的组合(例如CtrlA只是Keys.Control + Keys.A).所以我尝试创建一个自定义的快捷方式值,该值应该等于Control + Plus:

const Shortcut CONTROL_PLUS = (Shortcut)(Keys.Control | Keys.Oemplus);

zoomInMenuItem.Shortcut = CONTROL_PLUS;
Run Code Online (Sandbox Code Playgroud)

但是,这会InvalidEnumArgumentException在我尝试分配Shortcut属性时抛出.

所以我决定使用反射,修改(不公开)MenuItemDatashortcut属性,然后调用(非公共)UpdateMenuItem方法.这实际上有效(具有Control+Oemplus在菜单项中显示的副作用):

const Shortcut CONTROL_PLUS = (Shortcut)(Keys.Control | Keys.Oemplus);

var dataField = typeof(MenuItem).GetField("data", BindingFlags.NonPublic | BindingFlags.Instance);
var updateMenuItemMethod = …
Run Code Online (Sandbox Code Playgroud)

.net c# reflection menuitem winforms

10
推荐指数
1
解决办法
2853
查看次数

java.util.Formattable上的示例是否不正确?

使用给出java.util.Formattable示例(修改为实际设置构造函数中的值),事情似乎正常工作:

import java.nio.CharBuffer;
import java.util.Formatter;
import java.util.Formattable;
import java.util.Locale;
import static java.util.FormattableFlags.*;

public class StockName implements Formattable {
    private String symbol, companyName, frenchCompanyName;
    public StockName(String symbol, String companyName,
                     String frenchCompanyName) {
        this.symbol = symbol;
        this.companyName = companyName;
        this.frenchCompanyName = frenchCompanyName;
    }

    public void formatTo(Formatter fmt, int f, int width, int precision) {
        StringBuilder sb = new StringBuilder();

        // decide form of name
        String name = companyName;
        if (fmt.locale().equals(Locale.FRANCE))
            name = frenchCompanyName;
        boolean alternate …
Run Code Online (Sandbox Code Playgroud)

java formatting formatter formattable

10
推荐指数
1
解决办法
387
查看次数

多核处理器:每个"核心"是以全时钟速度还是全时钟频率的某个部分运行?

假设你有一个(1)Intel/AMD x86-64 bit 2 GHz 8核处理器.

8个内核中的每一个都是在完整的2 GHz运行,还是每个内核运行的时间是整个2 GHz时钟的一部分(例如250 MHz)?

architecture intel microprocessors amd-processor

8
推荐指数
2
解决办法
8009
查看次数

是否可以在SqlAlchemy中的automap创建类之后声明关系

我是sqlalchemy的新手.我已经按照教程创建了一个与mysql db关系的现有数据库的自动化

from sqlalchemy import create_engine, MetaData, Column, Table, ForeignKey
from sqlalchemy.ext.automap import automap_base, generate_relationship
from sqlalchemy.orm import relationship, backref
from config import constr, mytables

def _gen_relationship(base, direction, return_fn,
                  attrname, local_cls, refferred_cls, **kw):
    return generate_relationship(base, direction, return_fn, attrname, local_cls, refferred_cls, **kw)

engine = create_engine(constr)
metadata = MetaData()
metadata.reflect(engine, only=mytables)
Base = automap_base(metadata=metadata)
Base.prepare(engine, reflect=True, generate_relationship=_gen_relationship)
Tableclass1 = Base.classes.table1
Tableclass2 = Base.classes.table2
Run Code Online (Sandbox Code Playgroud)

Table2.ID映射到其中一table1列.但是,当我试图使用查询和加入table1table2,它报告错误,说"无法找到任何外键关系".既然我知道了这两个表的关系,那么在创建类实例之后是否可以声明这种关系?或者有没有办法在查询功能中明确告诉这种关系?谢谢!

python mysql sqlalchemy relationship automap

8
推荐指数
1
解决办法
2345
查看次数

Gameboy(z80)操作码用途

我一直工作在一个游戏机模拟器,和我注意到,有一定的操作码存在是永远不会改变的任何值,如LD A, A,LD B, B等,并且还AND A.第一个显然不会改变任何东西,因为它们将寄存器的值加载到相同的寄存器中,并且由于将ANDA寄存器进行比较,因此AND A将始终返回A.这些操作有什么用途,或者与NOP每个循环后的操作基本相同?

z80 emulation opcode gameboy

8
推荐指数
2
解决办法
1822
查看次数

treeMap.entrySet()不应该返回一个SortedSet吗?

为什么treeMap.entrySet()treeMap.keySet()方法不返回SortedSet?我可能会说这是一个错误.根据API,Set被定义为没有特定的排序.但是,TreeMap返回的集合确实有特定的顺序.

java collections

8
推荐指数
1
解决办法
979
查看次数

在notepad ++中创建新的快捷方式

我试图在记事本++中添加一个快捷方式或按钮来调用我正在编辑的文件上的外部程序.

例如,假设我有程序" analyzer.jar".我想在记事本++中创建一个直接运行命令" cmd -K java -jar analyzer.jar "$(FULL_CURRENT_PATH)" 的按钮(或快捷方式).

由于我还没有找到任何解决方案,任何帮助都将深深感激:).

shortcut notepad++ button

7
推荐指数
1
解决办法
9702
查看次数

使用CDT的抽象语法树API生成/编写C代码?

我已经能够使用CDT的AST API成功解析源代码.我的问题涉及相反:如何以编程方式构建C AST,然后告诉它将自己写入文件?我见过类ASTWriter(但这是内部的),并且找不到有关构建实际AST的任何教程或文档.

我找到了一篇论述了我想要做的事情:生成可重写的抽象语法树,如果我可以构造树并说"自己写",那么生成代码似乎很容易.这在CDT中是否可行?我如何开始(最好没有弃用/内部方法?)

java eclipse eclipse-cdt abstract-syntax-tree

7
推荐指数
1
解决办法
989
查看次数

将Maven依赖项部署到S3:没有可用的连接器

我正在尝试使用Amazon S3来托管我的Maven工件.我已将以下内容添加到我的pom.xml中:

<distributionManagement>
    <repository>
        <id>maven.xxx.com-release</id>
        <name>AWS S3 Release Repository</name>
        <url>s3://maven.xxx.com/release</url>
    </repository>
    <snapshotRepository>
        <id>maven.xxx.com-snapshot</id>
        <name>AWS S3 Snapshot Repository</name>
        <url>s3://maven.xxx.com/snapshot</url>
    </snapshotRepository>
</distributionManagement>

<build>
    <extensions>
        <extension>
            <groupId>org.springframework.build</groupId>
            <artifactId>aws-maven</artifactId>
            <version>5.0.0.RELEASE</version>
        </extension>
    </extensions>
</build>
Run Code Online (Sandbox Code Playgroud)

这工作正常,我的快照存储在S3上.现在我试图在另一个项目中引用工件:

<repositories>
    <repository>
        <id>maven.xxx.com-release</id>
        <name>AWS S3 Release Repository</name>
        <url>s3://maven.xxx.com/release</url>
    </repository>
    <repository>
        <id>maven.xxx.com-snapshot</id>
        <name>AWS S3 Snapshot Repository</name>
        <url>s3://maven.xxx.com/snapshot</url>
        <snapshots>
            <enabled>true</enabled>
        </snapshots>
    </repository>
</repositories>

<build>
    <extensions>
        <extension>
            <groupId>org.springframework.build</groupId>
            <artifactId>aws-maven</artifactId>
            <version>5.0.0.RELEASE</version>
        </extension>
    </extensions>
</build>
Run Code Online (Sandbox Code Playgroud)

当我运行时$ mvn deploy -X,我收到以下错误:

Apache Maven 3.2.2 (45f7c06d68e745d05611f7fd14efb6594181933e; 2014-06-17T15:51:42+02:00)
Maven home: /usr/local/Cellar/maven/3.2.2/libexec
Java version: 1.8.0_11, vendor: Oracle Corporation …
Run Code Online (Sandbox Code Playgroud)

java amazon-s3 amazon-web-services maven

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

java中的逻辑xor运算符是什么?

在java中,有一个逻辑OR运算符(||)和一个逻辑AND运算符(&&).是否有逻辑XOR运算符?我试过^^但它不起作用.

java boolean-logic xor

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