问题列表 - 第44719页

如何在打开至少一个模态窗口时最小化winforms应用程序

我在Winforms应用程序中有两个表单类(Form1和Form2).

Form1是这样的:

Form1上有一个按钮

Form2是这样的(ShowInTaskbar = false):

Form2带有

这个代码在Form1上:

    Form2 someForm = new Form2();
    private void btOpenAnotherWindow_Click(object sender, EventArgs e)
    {
        if (someForm.ShowDialog(this) == DialogResult.OK)
            MessageBox.Show("OK!!!");
        else
            MessageBox.Show("Not OK.");
    }
Run Code Online (Sandbox Code Playgroud)

也就是说,一个带有按钮的窗口,在单击时以模态方式打开另一个窗口,并等待用户关闭第二个窗口(通过单击"确定"或"取消"按钮).并根据它是如何关闭的,执行交替操作(此处由MessageBox.Show()调用表示).

我需要:

  1. 用户一次只能使用一个窗口.(模态形式,这就是我使用ShowDialog()而不是Show()的原因)
  2. 当表单关闭时,根据表单的关闭方式做一些事情("if(someForm.ShowDialog(this)...")
  3. 能够(作为用户)最小化整个APP.
  4. 能够正确地将应用程序"最小化"到前一状态.
  5. 该程序响应WIN + M(最小化所有)键组合.

以上示例以两种方式失败:

  1. (需要5)不响应WIN + M
  2. (需要3)应用程序似乎被点击最小化的标题栏按钮时最小化,但它是一种错觉,因为主窗体(Form)不会减少,它其实只是被隐藏了其他打开的窗口后面.只运行带有空桌面的示例才能显示实际发生的情况.照片如下:

单击最小化按钮之前:

应用程序运行的空桌面

后: 使用Form2(someForm)的空桌面最小化

注意:

  1. 主窗体未最小化
  2. Form2位于屏幕的左下角.

Form2是一个完整的窗口(本身不是一个对话框窗口),我需要用户与它进行交互,直到它关闭,我还需要用户能够在需要时将整个应用程序缩小.

遗憾的是我无法在这里发布真实的形式,这将比这些模型更清晰.

我需要一个适用于多级模态窗口的解决方案(不仅如本例所示,还有两个).有什么建议?

.net c# winforms

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

当我在defun中设置参数变量时会发生什么?(Emacs的)

(defun make-it-5 (num)
  (setq num 5))
(setq a 0)
(make-it-5 a)
;; now a is still 0, not 5.
Run Code Online (Sandbox Code Playgroud)

在上面的代码中,似乎既没有(setq a 5)也没有(setq 0 5).如果(setq a 5)发生,则a将更改为5,但a仍为0.如果(setq 0 5)发生,则会发生Lisp错误.怎么了?这是我的问题.

对于一些通过谷歌搜索来到这里的人,并想知道如何使make-it-5正如其名称所暗示的那样,一种方法是

(defmacro make-it-7 (num) ; defmacro instead of defun
  `(setq ,num 7))
(setq a 0)
(make-it-7 a)
;; now a is 7.
Run Code Online (Sandbox Code Playgroud)

另一个是:

(defun make-it-plus (num-var)
  (set num-var (+ 1 (symbol-value num-var))) ; `set' instead of `setq'
) 
(setq a 0)
(make-it-plus 'a) ; 'a instead of a
;; now a is …
Run Code Online (Sandbox Code Playgroud)

parameters emacs elisp function

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

Linux reboot()系统调用的幻数

Linux编程接口在第3章中有一个练习,如下所示:

当使用Linux特有重新启动()系统调用来重新启动系统,第二个参数,magic2,必须被指定为一组幻数(例如,LINUX_REBOOT_MAGIC2)中的一个.这些数字有什么意义?(将它们转换为十六进制提供了线索.)

该手册页告诉我们magic2可以LINUX_REBOOT_MAGIC2(672274793),LINUX_REBOOT_MAGIC2A(85072278),LINUX_REBOOT_MAGIC2B(369367448),或LINUX_REBOOT_MAGIC2C(537993216)之一.我没能用十六进制解读它们的含义.我也看了一下/usr/include/linux/reboot.h,也没有给出任何有用的评论.

然后我在内核的源代码中搜索了它sys_reboot的定义.我发现的只是头文件中的声明.

因此,我的第一个问题是,这些数字有什么意义?我的第二个问题是,在哪里sys_reboot定义,你是如何找到它的?

编辑:我在中找到了定义kernel/sys.c.我只是贪图sys_reboot,忘了grep的MAGIC数字.我认为定义必须隐藏在一些宏技巧背后,所以我查看了下面的System.map文件/boot,并在旁边找到它ctrl_alt_del.然后我抓住那个符号,这导致我找到了正确的文件.如果我从源代码编译内核,我可以尝试找到定义符号的对象文件,并从那里开始.

linux system-calls linux-kernel

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

在ElementTree/Python中使用多个属性查找事件

我有以下XML.

<?xml version="1.0" encoding="UTF-8"?>
<testsuites tests="10" failures="0" disabled="0" errors="0" time="0.001" name="AllTests">
  <testsuite name="TestOne" tests="5" failures="0" disabled="0" errors="0" time="0.001">
    <testcase name="DefaultConstructor" status="run" time="0" classname="TestOne" />
    <testcase name="DefaultDestructor" status="run" time="0" classname="TestOne" />
    <testcase name="VHDL_EMIT_Passthrough" status="run" time="0" classname="TestOne" />
    <testcase name="VHDL_BUILD_Passthrough" status="run" time="0" classname="TestOne" />
    <testcase name="VHDL_SIMULATE_Passthrough" status="run" time="0.001" classname="TestOne" />
</testsuite>
</testsuites>
Run Code Online (Sandbox Code Playgroud)

问:我如何找到节点<testcase name="VHDL_BUILD_Passthrough" status="run" time="0" classname="TestOne" />?我找到了该函数tree.find(),但该函数的参数似乎是元素名称.

我需要根据属性找到节点:name = "VHDL_BUILD_Passthrough" AND classname="TestOne".

python xml elementtree

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

如何将前缀参数移动到Emacs中的其他键?

我正在使用备用键盘布局(Colemak),我想将universal-argument命令移动到Emacs中的其他键,C-l而不是C-u.我尝试了以下内容,但它不允许我将多个通用参数链接在一起乘法(C-l C-l C-l)并且它C-l C-u也会断开(它应该向上移动4行):

(global-set-key "\C-l" 'universal-argument)
(global-set-key "\C-u" 'previous-line)
Run Code Online (Sandbox Code Playgroud)

colemak emacs

13
推荐指数
1
解决办法
377
查看次数

PHP中的术语"haystack"

有一些PHP函数(例如strstr,strposstrrchr)接受一个名为的参数$haystack.这个名字来自哪里?

在此输入图像描述

php parameters terminology

17
推荐指数
3
解决办法
2913
查看次数

PHP:生成唯一用户密钥的选项

经过几天研究哈希,生成随机数或唯一密钥,我现在有点困惑.

我还有一件事我想要正确使用哪个是用户密钥.我想为在我的网站上注册的每个会员/用户存储一个唯一的密钥.所以这个密钥必须是唯一的,不能重复.我正在考虑使用用户电子邮件并将其与时间或其他东西一起散列...

然后我想知道哪个是创建这样一个密钥的最佳方式 -

我可以使用hash_hmac()为我做这个吗?

我有几件事情不了解hash_hmac()虽然 - 如本例中的php.nethash_hmac('ripemd160', 'The quick brown fox jumped over the lazy dog.', 'secret');

那么什么是"秘密" - 我可以把任何不同的东西改成,比如时间吗?我认为我可以取代'快速的棕色狐狸跳过懒狗.' 用电子邮件地址?

或者我可以使用Portable PHP密码哈希框架来做到这一点?

唯一的事情是它产生.,$并且/我需要删除它们,否则当我从URL请求密钥时我会收到错误.

所以我可能会这样做 -

$hash = $phpass -> HashPassword('me@example.com'.$timedate)
$key = preg_replace("/[^a-zA-Z0-9]+/", "", $hash);
Run Code Online (Sandbox Code Playgroud)

如果您有任何更好的建议,请告诉我.

php hash key

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

简约原型(js框架)

我想使用原型javascript框架来实现其"类"和继承功能.对于其他一切,我将使用jQuery.是否有一个极简主义版本的原型会给我这个功能?如果我不使用它,我不希望整个库的额外开销.

具体来说,我想要允许我按如下方式定义类的类和继承功能(来自维基百科的示例):

var FirstClass = Class.create( {
  // The initialize method serves as a constructor
  initialize: function () {
   this.data = "Hello World";
  }
});
Run Code Online (Sandbox Code Playgroud)

并扩展另一个类:

MyNewClass = Class.create( FirstClass, { 
  //Override the initialize method
  initialize: function() { 
    //..
  }, 
  // ...more methods add ... 
});
Run Code Online (Sandbox Code Playgroud)

另外,我不希望在框架之间的冲突(即$由jQuery..I只能使用要为类创建/继承原型(或其他任何建议,将被罚款)).

javascript prototypejs prototype-programming

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

有没有更好的方法来组合这两个Linq表达式?

我有两个LINQ表达式,我认为我应该能够合并为一个.

我有一个推荐人列表,每个推荐人都参考了多个项目,我正在尝试确定最受欢迎的项目.每个推荐人向参考项目传达唯一的投票得分.也就是说,推荐人1可能会投票给0.2,推荐人2可能会投票给0.03.

简化Referrer课程:

class Referrer
{
    public double VoteScore { get; private set; }
    public List<int> Items { get; private set; }
    public Referrer(double v)
    {
        VoteScore = v;
        Items = new List<int>();
    }
}
Run Code Online (Sandbox Code Playgroud)

我的两个Linq表达式是:

var Votes =
    from r in Referrers
    from v in r.Items
    select new { ItemNo = v, Vote = r.VoteScore };
Run Code Online (Sandbox Code Playgroud)

这给了我一个清单:

ItemNo:1, Vote:0.2
ItemNo:3, Vote:0.2
ItemNo:1, Vote:0.03
Run Code Online (Sandbox Code Playgroud)

现在,我可以用我的第二个表达式进行分组,求和和排序:

var SortedByScore = 
    from v in Votes
    group v by v.ItemNo into g …
Run Code Online (Sandbox Code Playgroud)

c# linq

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

ASP.NET MVC性能

MVC性能的哪些方面最能影响您的Web应用程序性能?数据库访问通常被指出是默认的罪魁祸首,但是还有其他组件会产生影响吗?您是否优先考虑并发客户端数量,服务器上使用的内存,响应时间或其他内容?

这个答案包含一些非常好的一般性建议,但我正在寻找框架不符合您期望的具体细节.

asp.net-mvc performance

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