问题列表 - 第7156页

绑定数据更改时Winforms列表框不更新

下图显示了我的代码的工作原理.当我按下按钮2时,列表框会更新,但不会在我按下按钮1时更新.为什么?

伪代码http://i44.tinypic.com/mj69oj.gif

问题线程是否相关?如果是,我应该在哪里添加对(Begin)Invoke的调用?

需要注意的一件有趣的事情是,如果我先按下button1然后按下按钮2,则单击button2时会显示button1单击生成的数据.所以似乎doFoo生成的数据在某处缓冲,然后在按下button2后推送到列表框.

编辑:

我尝试将AddNumber添加到表单代码中,并在listBox1.InvokeRequired返回true时添加对Invoke的调用.这解决了问题,但不是最好的设计.我不希望GUI必须"担心"如何将项添加到模型的一部分列表中.

如何在添加到列表类内部列表的同时保持逻辑,同时在列表更改时仍然更新gui?

编辑2:

现在我们已经确认这是一个线程问题,我已经更新了图像,以便更接近地反映我正在处理的实际代码的设计.

虽然Lucero的建议仍然解决了这个问题,但我希望能找到一些不需要表格来了解dll或CDllWrapper的东西.

模型(ListBoxDataBindingSource等)应该对视图(列表框,按钮,标签等)一无所知

c# data-binding multithreading listbox winforms

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

如何在PHP中进行重定向?

是否可以通过使用PHP将用户重定向到不同的页面?

假设用户去了www.example.com/page.php,我想将它们重定向到www.example.com/index.php,如何在不使用元刷新的情况下这样做?可能吗?

这甚至可以保护我的页面免受未经授权的用户

php redirect

1201
推荐指数
26
解决办法
271万
查看次数

查找多个已知ID项的备用SQL方法?

是否有更好的解决方案来查找表中多个已知ID的问题:

SELECT * FROM some_table WHERE id='1001' OR id='2002' OR id='3003' OR ...
Run Code Online (Sandbox Code Playgroud)

我可以有几百个已知物品.想法?

sql

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

为什么最好使用filter_input()?

这应该是一个基本问题,但为什么更好地使用这样的东西:

$pwd = filter_input(INPUT_POST, 'pwd');
Run Code Online (Sandbox Code Playgroud)

而不仅仅是:

$pwd = $_POST['pwd'];
Run Code Online (Sandbox Code Playgroud)

PS:我知道过滤器扩展可以与更多参数一起使用,以提供额外的清理级别.

php security filter

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

在Java中,为按位运算假设一定大小的基本类型是否安全?

鉴于Java的"一次编写,随处运行"范例以及Java教程为所有原始数据类型提供明确的位大小这一事实,而没有丝毫暗示这依赖于任何东西,我会说,是的,int一直是32位.

但有什么警告吗?该语言规范定义的数值范围,但是一无所知的内部表示说,我想,这可能是不应该.但是,我有一些代码对int假设32位宽度的变量执行按位操作,我想知道该代码在所有体系结构上是否安全.

这类问题是否有很好的深入资源?

java 64-bit

4
推荐指数
2
解决办法
727
查看次数

将回调onSuccess返回值提升为Caller Function返回值

我有一个javascript函数调用泛型函数来对服务器进行ajax调用.我需要从ajax调用的回调函数中检索结果(true/false),但我得到的结果总是"未定义".

没有我所有逻辑的通用函数的超简化版本将是:

function CallServer(urlController) {
    $.ajax({
        type: "POST",
        url: urlController,
        async: false,
        data: $("form").serialize(),
        success:
            function(result) {
                if (someLogic)
                   return true;
                else
                   return false;
            },
        error:
            function(errorThrown) {
                return false;
            }
    });
}
Run Code Online (Sandbox Code Playgroud)

调用它的函数将是这样的:

function Next() {
        var result = CallServer("/Signum/TrySave");
        if (result == true) {
            document.forms[0].submit();
        }
    }
Run Code Online (Sandbox Code Playgroud)

"result"变量总是"未定义",调试它我可以看到正在执行回调函数的"return true"行.

有关为什么会发生这种情况的任何想法?我怎样才能将返回值从回调函数冒泡到CallServer函数?

谢谢

javascript ajax jquery

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

寻求文件的开头

我有一个小代码块,应该将文本附加到文件的beg.但是它仍然只会添加到文件的末尾.我认为倒带将指针设置到文件的前面,因此当我使用fprintf添加文本时,它应该添加到前面.我怎么能改变这个?

fp = fopen("Data.txt", "a");
rewind(fp);
fprintf(fp, "%s\n", text);
fclose(fp);
Run Code Online (Sandbox Code Playgroud)

Text是要添加到文件前面的char数组

c file-io

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

在javascript中设置环境变量

如何在WSH jscript文件中设置一个调用另一个程序的环境变量?这是减少的测试用例:

envtest.js
----------
var oShell = WScript.CreateObject("WScript.Shell");
var oSysEnv = oShell.Environment("SYSTEM");
oSysEnv("TEST_ENV_VAR") = "TEST_VALUE";
oExec = oShell.Run("envtest.bat", 1, true);    

envtest.bat
-----------
set
pause
Run Code Online (Sandbox Code Playgroud)

我希望在变量列表中看到TEST_ ENV _VAR,但它不存在.怎么了?

编辑:

如果有人可以生成工作代码示例,我会将其标记为正确答案.:)

javascript environment wsh batch-file

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

企业服务总线术语

任何人都可以在初级中级层面解释企业服务总线环境中"总线","传输"和"端点"的术语吗?我是一名C#开发人员,现在有几年经验,但只是刚开始使用ESB.

似乎"总线"实际上是一个可以发送和接收消息的队列.我很好.然而,我正在使用NServiceBus处理一些现有的代码,我想如果我理解了"端点"和"传输"术语,我会在我的理解中实现大幅度的飞跃.

esb servicebus

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

测试正在安装的Python模块依赖项

考虑到模块的名称,如何测试是否安装了一组模块.例如

modules = set(["sys", "os", "jinja"])

for module in modules:
  # if test(module exists):
  #   do something
Run Code Online (Sandbox Code Playgroud)

虽然可以将测试写成:

try:
  import sys
except ImportError:
  print "No sys!"
Run Code Online (Sandbox Code Playgroud)

这对我正在做的事情来说有点麻烦.有没有动态的方法来做到这一点?

我已经尝试了eval("import%s"%module),但是抱怨编译错误.

我很感谢你的想法和建议.谢谢.

python reflection import module python-module

7
推荐指数
3
解决办法
3994
查看次数