小编Dav*_*oua的帖子

C#:如何从表单及其控件中拖出一个?

我使用以下代码拖动无边框表单,方法是单击并拖动表单本身.它可以工作,但它不适用于单击并拖动窗体上的控件.我需要能够在单击某些控件时拖动它而不是其他控件 - 按标签拖动,但不要通过按钮和文本框拖动.我该怎么做?

protected override void WndProc(ref Message m)
{
    base.WndProc(ref m);

    const int WM_NCHITTEST = 0x84;
    const int HTCLIENT = 0x1;
    const int HTCAPTION = 0x2;

    if (m.Msg == WM_NCHITTEST && (int)m.Result == HTCLIENT)
        m.Result = (IntPtr)HTCAPTION;
}
Run Code Online (Sandbox Code Playgroud)

c# forms wndproc drag

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

命令重启Squid代理服务器?

什么命令重启Linux发行版上的Squid代理服务器?
我试过了squid restart,是正确的命令吗?

linux command-line squid

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

C# 取消一个长时间运行的任务,而不是一个循环

我是 C# 任务的新手,我想做的是转换

downloadThread = new Thread(DownLoadFile); 
downloadThread.Start();
Run Code Online (Sandbox Code Playgroud)

像任务一样

var t = Task.Factory.StartNew(DownLoadFile);
Run Code Online (Sandbox Code Playgroud)

我也知道使用 CancellationTokenSource 取消任务。但是,我看到的例子都是长循环运行线程,比如for, foreach, while, 他们检查IsCancellationRequested取消循环中的任务。

if (ct.IsCancellationRequested)
{
    break;
}
Run Code Online (Sandbox Code Playgroud)

但我长期运行的任务是使用 FTP 下载文件。该GetFile方法来自第三方 dll 库。

ftp.GetFile(ftpPath, dest, false);
Run Code Online (Sandbox Code Playgroud)

由于我的长时间运行的任务不在任何循环中,我如何检查然后取消它?

c# multithreading task

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

jQuery:同时将函数应用于元素

使用jQuery.each(),我可以遍历数组的成员:

// This is NOT what I am looking for.
$('.example a').each(function() {
    // do a lot of things here
    $(this).css('color', 'red');
});
Run Code Online (Sandbox Code Playgroud)


但是,我需要将一个函数应用于 jQuery 数组本身,而不是它的成员。所以我写了一个小插件来做到这一点:

$.fn.all = function( callback ) { return callback.call( this ); }

$('.example a').all(function() {
    // do a lot of things here
    $(this).css('color', 'red');
});
Run Code Online (Sandbox Code Playgroud)


请注意,在上面的函数中,this将被设置为元素的集合——这正是我所需要的。
现在我确信 jQuery 应该有一种优雅的方式来做到这一点,但我没有在文档中或谷歌搜索中找到任何内容。

是否可能,如果可能,如何在不使用自定义插件的情况下实现这一目标?

更新:我不能$('.example a').css('color', 'red');直接做。我在函数中有几十个计算,所以我必须使用类似于我写的插件的东西。 我要求回电。正确答案必须提供类似于自定义函数的回调。

javascript jquery

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

ANSI转义序列保存/恢复光标位置支持

是否有任何已知的终端支持上,下,前,后光标键的ANSI转义序列:

CSI n A     Cursor Up
CSI n B     Cursor Down
CSI n C     Cursor Forward
CSI n D     Cursor Back
Run Code Online (Sandbox Code Playgroud)

但是不支持save-cursor-position和restore-cursor-position转义序列?

CSI s       Save Cursor Position
CSI u       Restore Cursor Position
Run Code Online (Sandbox Code Playgroud)

terminal ansi-escape

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

RewriteOptions在htaccess文件中继承了什么?

修改.htaccess文件中的某些配置时,我发现该指令RewriteOptions inherit已存在.我对它的作用感到困惑,是否删除该行并以新的方式开始,或将我的配置附加到现有数据.

该指令的作用是什么,删除该行是否有任何副作用?

旁注:我想用来DirectoryIndex选择默认的索引文件.

apache .htaccess redirect web

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

如何在 VS Code 中正确集成 Cmder?

我想将Cmder shell集成到我的 VS Code 配置中。

我在 Windows 上使用 VS Code 64bit,我尝试settings.json如下修改我的文件,使 Cmder 作为集成终端工作:

"terminal.integrated.shell.windows": "C:\\Program Files\\Cmder\\Cmder.exe",
Run Code Online (Sandbox Code Playgroud)

我重新启动了我的 VS Code 并尝试打开终端。

起初,这个错误消息框出现了:

无法将 ConEmu.xml 文件复制到备份位置!
以管理员身份重新启动 Cmder。

所以,我以管理员身份启动了 VS Code,这使得错误信息消失了;但是,我注意到 VS Code 在另一个单独的窗口中而不是在终端中打开 Cmder 。

如何在 VS Code 终端内运行 Cmder shell?

PS vs 代码文档中的这个注释可以解决吗?

提示:集成终端外壳在 VS Code 的权限下运行。如果您需要使用提升的(管理员)权限或不同的权限运行 shell 命令,您可以使用平台实用程序,例如runas.exe在终端内。”

来自:https : //code.visualstudio.com/docs/editor/integrated-terminal

cmder visual-studio-code

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

PHP:获取 fopen() HTTP 响应错误代码

我想在通过fopen()函数打开远程文件时获取 HTTP 错误代码。

我有以下代码:

$remote = fopen ($url, "rb");
Run Code Online (Sandbox Code Playgroud)

如果 URL 正确,文件将被打开。否则,fopen会触发类似于 的错误消息Warning: fopen(url): failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found

我知道@在 之前添加fopen()抑制错误消息
但是我怎样才能获得 http 错误代码呢?

在这里,我想进入HTTP/1.1 404 Not Found一个变量。

谢谢。

php fopen http-headers

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

编译器警告-参数列表有所不同

我正在尝试编译以下源代码,这些源代码可以在gccMicrosoft和Microsoft上成功编译cl.exe

void SomethingBeforeExit();

void SomethingBeforeExit()
{
    // some code
    _exit(0);
}

int main(int argc, char *argv[])
{
    // some code
    atexit(SomethingBeforeExit);
}
Run Code Online (Sandbox Code Playgroud)

但是,我从以下消息中收到C4113警告cl.exe

SomeCode.c(10): warning C4113: 'void (__cdecl *)()' differs in parameter lists from 'void (__cdecl *)(void)'
Run Code Online (Sandbox Code Playgroud)

正如我所说,源代码仍然可以成功编译并且可以正常工作。我的目标是防止在中发生此警告cl,因为gcc在编译时不会生成任何警告。

我假设该函数的声明未被视为void SomethingBeforeExit(void),但是,我不知道如何将函数的参数列表明确声明为void

我正在使用VS14and C/C++ 19.00.23918 for x86for cl.exegcc v5.4.0编译器来比较生成的警告。

c gcc visual-studio cl

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

为什么 UPDATE 准备好的语句上的 PDO::fetchAll() 会导致“未缓冲的查询处于活动状态”异常?

PHP 版本PHP 7.4.13

我遇到了这个问题,fetchAll()在一个准备好的语句上调用了一个UPDATE查询:

$stmt    = $db->prepare( "UPDATE `table` SET value = value + ? WHERE id = ?" );
$success = $stmt->execute( $arguments );

$result  = $stmt->fetchAll( PDO::FETCH_ASSOC );  // ? This causes the exception
Run Code Online (Sandbox Code Playgroud)

在研究MySQL error 2014 Cannot execute queries while other unbuffered queries are active异常的原因时,这里提出的其他问题似乎没有涵盖这种情况。

为什么会$stmt->fetchAll()在一个UPDATE查询原因下列异常情况发生?

PHP Fatal error:  Uncaught PDOException: SQLSTATE[HY000]: General error: 2014 Cannot execute queries while other unbuffered queries are active.  Consider …
Run Code Online (Sandbox Code Playgroud)

php mysql pdo

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