小编Hel*_*len的帖子

如何将表单的焦点"锁定"到特定控件?

如何将.net应用程序的焦点锁定到特定控件?例如,如果我有一个包含5个文本框的表单,并且我希望它们按特定顺序填写,我怎样才能阻止第1个框中的某个人从选项卡/单击到框2,或者点击"确定"或"取消"或其他任何内容?有一种简单的方法,还是我必须在适当的时候手动禁用/启用其他控件?

显而易见的解决方案(焦点丢失后重置焦点)的问题在于MSDN说你可以用这种方式锁定你的机器:

(来源:http://msdn.microsoft.com/en-us/library/system.windows.forms.control.leave.aspx)

警告:

不要尝试从Enter,GotFocus,Leave,LostFocus,Validating或Validated事件处理程序中设置焦点.这样做可能会导致您的应用程序或操作系统停止响应.有关详细信息,请参阅"键盘输入参考"部分中的WM_KILLFOCUS主题,以及MSDN库中"关于消息和消息队列"主题的"消息死锁"部分,网址http://msdn.microsoft.com/library.

.net focus winforms

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

为什么我会在创建和返回新结构时遇到此错误?

编译此代码时出错:

using System;

public struct Vector2
{
    public event EventHandler trigger;

    public float X;
    public float Y;

    public Vector2 func()
    {
        Vector2 vector;
        vector.X = 1;
        vector.Y = 2;
        return vector;  // error CS0165: Use of unassigned local variable 'vector'
    }
}
Run Code Online (Sandbox Code Playgroud)

您好!

编译器说:"使用未分配的局部变量'vector'"并指向返回值.在我看来,Vector2成为一个引用类型(没有事件成员,它正常行事).怎么了?

c# events struct compiler-errors reference

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

有没有办法强制IE或FF进入手持模式来测试"@media掌上电脑"样式表?

有没有办法强制IE或FF进入手持模式来测试"@media掌上电脑"样式表?

或者,我是否必须发布页面并使用我的Blackberry进行测试?

我更愿意在不将应用程序推送到实时服务器的情况下测试它,因为应用程序已在使用中.

对我来说有什么想法?

css testing firefox internet-explorer handheld

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

为什么在graph_traits <>中使用模板化typedef时g ++会抱怨?

当我尝试编译此代码时:

struct BasicVertexProperties
{
    Vect3Df position;
};

struct BasicEdgeProperties
{
};

template < typename VERTEXPROPERTIES, typename EDGEPROPERTIES >
class Graph
{
    typedef adjacency_list<
        setS, // disallow parallel edges
        vecS, // vertex container
        bidirectionalS, // directed graph
        property<vertex_properties_t, VERTEXPROPERTIES>,
        property<edge_properties_t, EDGEPROPERTIES>
    > GraphContainer;

    typedef graph_traits<GraphContainer>::vertex_descriptor Vertex;
    typedef graph_traits<GraphContainer>::edge_descriptor Edge;
};
Run Code Online (Sandbox Code Playgroud)

g ++抱怨"typedef graph_traits <>"行中出现以下错误:

error: type 'boost::graph_traits<boost::adjacency_list<boost::setS, boost::vecS, 
boost::bidirectionalS, boost::property<vertex_properties_t, VERTEXPROPERTIES, 
boost::no_property>, boost::property<edge_properties_t, EDGEPROPERTIES, 
boost::no_property>, boost::no_property, boost::listS> >' is not derived from type 
'Graph<VERTEXPROPERTIES, EDGEPROPERTIES>'
Run Code Online (Sandbox Code Playgroud)

我发现编译器似乎不知道我的模板参数是类型,但在属性定义中将"typename"放在它们之前并没有帮助.

怎么了?我只是希望有一个模板化的Graph类,可以使用我喜欢的任何属性,从上面定义的基本属性结构派生,所以我可以在这个Graph中使用基本属性的方法.

c++ templates compiler-errors

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

如何在MFC CFolderDialog(“浏览文件夹”对话框)中添加编辑框?

我目前在我的CDocManagerEx类中使用CFolderDialog类来处理文件操作,如下所示:

替代文字http://img268.yfrog.com/img268/9271/filedialog.png

我不知道是否需要显示此类的方法实现(我是从此处发布的项目中找到的),但是如果有帮助,请参见以下类定义:

class CFolderDialog  
{
    friend static int CALLBACK BrowseDirectoryCallback(
        HWND hWnd, UINT uMsg, LPARAM lParam, LPARAM lpData);

public:
    CFolderDialog(  LPCTSTR lpszFolderName = NULL, 
        DWORD dwFlags = NULL/*BIF_RETURNONLYFSDIRS*/, 
        CWnd* pParentWnd = NULL);
    virtual ~CFolderDialog();
    virtual int DoModal();
    CString GetPathName() const;

protected:
    virtual void OnInitDialog();
    virtual void OnSelChanged(ITEMIDLIST* pIdl);
    virtual void CallbackFunction(HWND hWnd, UINT uMsg, LPARAM lParam);

    void EnableOK(BOOL bEnable = TRUE);
    void SetSelection(LPCTSTR pszSelection);
    void SetSelection(ITEMIDLIST* pIdl);
    void SetStatusText(LPCTSTR pszStatusText);
    CString ShortName(const CString& strName);

public: …
Run Code Online (Sandbox Code Playgroud)

mfc dialog folderbrowserdialog

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

如何使用VBScript使用默认应用程序打开HTML文件?

我有一个HTML文件C:\Program Files\my_html_files\file.html.如何使用VBScript打开此文件?(通过"打开"我的意思是使用默认应用程序打开它,就好像它在资源管理器中双击一样.)

vbscript

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

如何输出传递给VBScript脚本的参数列表?

我有以下VBScript代码:

Dim returnVal
returnVal = "You did not pass me 4 arguments"

args = WScript.Arguments.Count

If args = 4 Then
    returnVal = "The arguements you passed me are " & WScript.Arguments.Item(0) & "  "  & WScript.Arguments.Item(1) & "  "  & WScript.Arguments.Item(2) & "  "  & WScript.Arguments.Item(3) 
end if
Run Code Online (Sandbox Code Playgroud)

我想要的是打印"returnVal"的能力,这样如果我输入:

test.vbs 1 2 3 4
Run Code Online (Sandbox Code Playgroud)

它将返回:

The arguments you passed me are 1 2 3 4
Run Code Online (Sandbox Code Playgroud)

我怎样才能做到这一点?

vbscript

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

如何更改 Swagger 默认 URL 并使用自定义 URL?

我有一个在 .NetCore 3.1 中创建的 API,并使用 Swashbuckle 启用了 Swagger(OAS3)。默认情况下,当我的应用程序启动时,如果使用此 URL 显示 Swagger 页面:

http://{port}/swagger.index.html
Run Code Online (Sandbox Code Playgroud)

我想自定义 Swagger URL,以便它包含正在运行的应用程序的名称。我这样做的原因是我在 AWS Fargate 中运行 Nginx 时使用基于路径的路由。

我将在 Fargate 任务中运行多个 API 容器,Nginx 将接收来自应用程序负载均衡器和路径(例如 /api/app1)的 REST 请求,它将请求路由到目标应用程序的正确容器端口.

例如,我有三个应用程序:端口 5000 上的 App1、端口 5001 上的 App2 和端口 5003 上的 App3。

如果用户向https://api/app1发出请求,Nginx 将检测路径并将请求转发到端口 5000,这是 App1 的容器端口。

但是,为了确保出现正确的 Swagger 页面,我需要在 Swagger 的 URL 中添加“api/App1”,以便 Nginx 将请求转发到正确的容器。在本例中,它是 App1。

换句话说,我希望我的 Swagger URL 看起来像这样:

https://api/app1/swagger/index.html
Run Code Online (Sandbox Code Playgroud)

我试过的

在我的 Startup.cs 文件中,我添加了以下内容:


// Define prefix for application
private readonly string baseApplicationRoute = "api/app1";

            // Enable …
Run Code Online (Sandbox Code Playgroud)

c# swagger swashbuckle asp.net-core openapi

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

我想使用 Node js 将 postman 文件转换为 openAPI 3.0

您能帮我将 Postman 文件转换为 openAPI 3.0 并将它们下载到机器吗?

这必须在 Node.js 中实现,我对它非常陌生。

谢谢。

node.js postman openapi

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

为什么找不到方法 app.UseSwaggerUI(...)?

我想在使用 .Net Core 3.1 创建的新 Web 应用程序上添加 swagger。我在以下行收到错误:

app.UseSwaggerUI(c =>
{
    c.SwaggerEndpoint("/swagger/v1/swagger.json", "My API V1");
});
Run Code Online (Sandbox Code Playgroud)

“IApplicationBuilder”不包含“UseSwaggerUI”的定义,并且找不到接受“IApplicationBuilder”类型的第一个参数的可访问扩展方法“UseSwaggerUI”(您是否缺少 using 指令或程序集引用?)

即使我已经按照 MSDN 示例安装了 Swagger 。

这是来自 NuGet 的 swagger 包的内容:

在此处输入图片说明

我有以下用途:

using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Hosting;
using Microsoft.AspNetCore.HttpsPolicy;
using Microsoft.AspNetCore.SpaServices.ReactDevelopmentServer;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Hosting;
using Microsoft.Extensions.Options;
using Microsoft.OpenApi.Models;
Run Code Online (Sandbox Code Playgroud)

我错过了什么?

c# swagger asp.net-core-3.1 swashbuckle.aspnetcore

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