标签: contextmenu

C#鼠标右键单击并控制焦点

我有一个表单,用户可以添加控件,当他们右键单击它时会弹出一个上下文菜单,其中包含一个选项,可以显示他们右键单击的控件的属性.我遇到的问题是试图决定如何找出用户右键点击的控件,因为它可以是任意数量的控件,然后将控件集中在表单上.有没有人有任何好的建议?我应该只使用鼠标事件的(对象发件人)部分吗?

谢谢.

c# controls focus contextmenu winforms

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

屏幕旋转后保持上下文菜单

我有一个活动就是它的onCreate方法:

registerForContextMenu(theView);

并在onCreateContextMenu中:

super.onCreateContextMenu(menu, v, menuInfo);
menu.add(blablabla);
Run Code Online (Sandbox Code Playgroud)

这很好用,但问题是当屏幕旋转时上下文菜单消失.如何解决这个问题?

谢谢阅读!

android contextmenu

3
推荐指数
1
解决办法
4839
查看次数

在Android中按需显示上下文菜单

考虑使用ListView设置了上下文菜单的Android registerForContextMenu.ListView当用户长按项目视图时,将显示项目的上下文菜单.

另外,当用户点击(不是长按)项目时(如果满足某些条件),我想显示上下文菜单.是否有可能做到这一点?怎么样?

android listview contextmenu

3
推荐指数
1
解决办法
2786
查看次数

使用JavaScript检测点击的目标?

如何检测右键单击的对象或ID或用户?我正在使用onContextMenu来触发一个函数,但我不知道如何检测目标.

javascript contextmenu dhtml right-click

3
推荐指数
1
解决办法
2791
查看次数

打开上下文菜单之前的事件

在这个简单的示例中,我想在显示MessageBox上下文菜单之前显示一个.

我在'XAML'上写下这段代码:

<Border>
    <Border.ContextMenu>
        <ContextMenu ContextMenuOpening="ContextMenu_ContextMenuOpening">
            <MenuItem Header="Select pic" IsEnabled="{Binding Path=ProductSelected}" />
            <MenuItem Header="Paste pict" Name="miPaste" Click="miPaste_Click"/>
        </ContextMenu>
    </Border.ContextMenu>
    <Image Stretch="Fill" Source="{Binding Path=Product.Picture}" />
</Border>
Run Code Online (Sandbox Code Playgroud)

我在'CS'中写这个:

private void ContextMenu_ContextMenuOpening(object sender, ContextMenuEventArgs e)
{
    MessageBox.Show("OPPENING");
}
Run Code Online (Sandbox Code Playgroud)

我不知道为什么,当我按下鼠标右键时,会出现上下文菜单,但从不显示MessageBox.

c# wpf contextmenu

3
推荐指数
1
解决办法
5297
查看次数

C#= MenuItem.Click handler - 获取上下文菜单所属的对象?

这可能非常简单,我没有看到它,因为这是漫长的一天的结束,如果它是我提前道歉.

我有一组按钮,右键单击时会弹出一个ContextMenu.该菜单有两个MenuItem,它们都分配了一个Click处理函数.我正在触发ContextMenu弹出右键单击按钮,如下所示:

过于简化的例子:


public void InitiailizeButtonContextMenu()
{
    buttonContextMenu = new ContextMenu();
    MenuItem foo = new MenuItem("foo");
    foo.Click += OnFooClicked;

    MenuItemCollection collection = new MenuItemCollection(buttonContextMenu);
    collection.Add(foo);
}

public void OnButtonMouseClick(object sender, MouseEventArgs e)
{
    if (e.Button == MouseButtons.Left)
        // left click stuff handling
    if (e.Button == MouseButtons.Right)
        buttonContextMenu.Show((Button)sender, new Point(e.X, e.Y));
}


public void OnFooClicked(object sender, EventArgs e)
{
    // Need to get the Button the ContextMenu .Show'd on in
    // OnButtonMouseClick...  thoughts?
}


ContextMenu buttonContextMenu; 
Run Code Online (Sandbox Code Playgroud)

我需要能够获得触发ContextMenu的Button在MenuItem的Click处理程序中弹出,或以某种方式获取它.MenuItem.Click接受EventArgs,所以没有什么用处.我可以将对象发送者强制转换回MenuItem,但我找不到任何告诉我是什么让它弹出的东西.这可能吗?

c# events contextmenu winforms

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

获取上下文菜单的控制权

我有一个看起来像这样的上下文菜单

 A
 |--1
 |--2
 |--3
Run Code Online (Sandbox Code Playgroud)

在选择1 2或3之后,我需要访问调用上下文菜单的对象

这意味着如果这是textbox1的上下文菜单,那么我需要访问该对象,我该怎么做?

忘了提一下,这是一个WPF应用程序.所以我使用System.Windows.Controls和ContextMenu是以编程方式创建的

.net c# wpf contextmenu

3
推荐指数
2
解决办法
7652
查看次数

如何在PyQt中正确对齐右键单击上下文菜单?

使用下面的示例代码(受此处影响很大),右键单击上下文菜单并未真正正确对齐.

从屏幕截图中可以看出,生成的菜单位于鼠标光标上方.我希望菜单的左上角与鼠标指针完全对齐.

有什么方法可以调整吗?

菜单截图

import re
import operator
import os
import sys
import sqlite3
import cookies
from PyQt4.QtCore import *
from PyQt4.QtGui import *

def main():
    app = QApplication(sys.argv)
    w = MyWindow()
    w.show()
    sys.exit(app.exec_())

class MyWindow(QWidget):
    def __init__(self, *args):
        QWidget.__init__(self, *args)

        self.tabledata = [('apple', 'red', 'small'),
                          ('apple', 'red', 'medium'),
                          ('apple', 'green', 'small'),
                          ('banana', 'yellow', 'large')]
        self.header = ['fruit', 'color', 'size']

        # create table
        self.createTable()

        # layout
        layout = QVBoxLayout()
        layout.addWidget(self.tv)
        self.setLayout(layout)

    def popup(self, pos):
        for i in self.tv.selectionModel().selection().indexes():
            print …
Run Code Online (Sandbox Code Playgroud)

contextmenu pyqt alignment

3
推荐指数
2
解决办法
4084
查看次数

Chrome扩展程序:如何使用contextMenus修改确定页面的DOM?

作为标题,如何将修改应用于另一个页面,与背景不同?

表现:

{
    "name": "First Extension",
    "version": "1.0",
    "description": "The first extensione tha I made",
    "permissions":["contextMenus", "tabs", "http://localhost/CreativaIly/*"],
    "background_page": "background_page.html",
    "browser_action":{ 
                        "name": "My First Extension!",
                        "default_icon": "Chrome_icon32bn.png",
                        /*"default_popup": "popup.html",*/
                        "default_title": "My First Extension!"
    },
    "icons": {
                "16": "Chrome_icon19color.png",
                "48": "Chrome_icon32color.png",
                "128": "Chrome_icon.png"
    }
}
Run Code Online (Sandbox Code Playgroud)

背景页面:

<!doctype html>
<html>
  <head>
    <title>Background Page</title>
    <script type="text/javascript" src="mootools-core-1.4.2-full-compat.js"></script>
    <script src="script.js" type="text/javascript" ></script>
  </head>
  <body>
  </body>
</html>
Run Code Online (Sandbox Code Playgroud)

dom contextmenu google-chrome-extension

3
推荐指数
1
解决办法
2587
查看次数

Android:Listview长按上下文菜单问题

长时间按住listview条目并显示各种选项后,我试图打开上下文菜单。但是,我无法长期持有任何东西。

这是我用来调用上下文菜单的代码:

@Override
public void onCreateContextMenu(ContextMenu menu, View v,
        ContextMenuInfo menuInfo) {
    super.onCreateContextMenu(menu, v, menuInfo);

    MenuItem delete = menu.add("delete");
    MenuItem edit = menu.add("edit");
    delete.setOnMenuItemClickListener(new OnMenuItemClickListener() {
        public boolean onMenuItemClick(MenuItem item) {
            return true;
        }
    });
    edit.setOnMenuItemClickListener(new OnMenuItemClickListener() {
        public boolean onMenuItemClick(MenuItem item) {
            return true;
        }
    });
}
Run Code Online (Sandbox Code Playgroud)

我也尝试过,但也无济于事:

@Override
public void onCreateContextMenu(ContextMenu menu, 
                View v, ContextMenuInfo menuInfo) {
    menu.add(0, 1, 0, "Edit");
    menu.add(0, 2, 1, "Rename");
    menu.add(0, 3, 2, "Delete");
    super.onCreateContextMenu(menu, v, menuInfo);
}

@Override
public boolean onContextItemSelected(MenuItem item) …
Run Code Online (Sandbox Code Playgroud)

java android listview contextmenu

3
推荐指数
1
解决办法
3332
查看次数