小编tmi*_*hty的帖子

VB.NET使用相同名称但不同参数的多个subs

我想制作具有相同名称但具有不同参数的多个子.

例如:

Public Sub DoThis(Byval CustomerName As String)   
Public Sub DoThis(Byval CustomerID As Integer)
Public Sub DoThis(Byval CustomerID As Integer, ReferenceID As Integer)
Run Code Online (Sandbox Code Playgroud)

但是后来VB.NET告诉我这样一个子已经存在.有人可以告诉我怎么做到这一点?

谢谢!

vb.net

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

VB.NET对于每个枚举不正确

我有以下代码:

    For Each t As TabPage In Me.TabControl1.TabPages
        For Each p As Panel In t.Controls
            Dim sText As String = p.Name
            If modStrings.Has(sText, u) Then
                m_PrevPanel = p
                p.Parent = Me.pnlMain
                Return
            End If
        Next
    Next
Run Code Online (Sandbox Code Playgroud)

但有时候就行了

 For Each p as Panel in t.Controls
Run Code Online (Sandbox Code Playgroud)

我收到了错误

"SystemWindows.Forms.Button类型的对象不能转换为System.Windows.Forms.Panel".

我不明白为什么它会尝试在"p as Panel"枚举中包含一个按钮.有人看到这里可能出现的问题吗?

vb.net foreach visual-studio-2012

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

将十六进制数转换为十六进制值

我有以下代码

    Dim sSerialNumber = "9082285F"
    Dim iSerial As Integer = ("&H" & sSerialNumber)
    Dim iSerial2 As Integer = Convert.ToInt32(sSerialNumber, 16)
Run Code Online (Sandbox Code Playgroud)

但VB.NET不喜欢这个.IDE在运行时告诉我在行中检测到堆栈溢出

Dim iSerial As Integer = ("&H" & sSerialNumber)
Run Code Online (Sandbox Code Playgroud)

有人知道为什么并且知道如何正确地做到这一点吗?

谢谢!

vb.net

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

VB.NET 添加图像,使其显示在 My.Resources.TheImageName 下

使用 VS2012,我想将图像添加到 My.Resources 中。命名空间。我想在 Paint 事件中将此图像绘制到 PictureBox 中。

我做了以下事情:

我单击“添加现有项目”,然后打开图像。我单击解决方案资源管理器中的图像并将构建任务设置为“嵌入式资源”。

我保存了该项目并重新构建了它。但它仍然没有显示在 My.Resources 下。

请问我做错了什么?

感谢您的帮助!

附:

我不想将其直接添加到“Resources.resx”(例如通过单击表单的“BackGroundImage”属性)。我更喜欢在解决方案资源管理器中显示图像。我曾经经历过VS2012曾经损坏了一个文件,我不得不重建资源文件。我想避免它。

vb.net resources embedded-resource visual-studio-2012

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

将unix时间转换为DateTime

我想将Unix时间戳转换为VB.NET DateTime.

我试过了

Public Function UnixToDateTime(ByVal strUnixTime As String) As DateTime

    Dim nTimestamp As Double = strUnixTime
    Dim nDateTime As System.DateTime = New System.DateTime(1970, 1, 1, 0, 0, 0, 0)
    nDateTime.AddSeconds(nTimestamp)

    Return nDateTime

End Function
Run Code Online (Sandbox Code Playgroud)

但是当我喂它

strUnixTime = "1401093810"
Run Code Online (Sandbox Code Playgroud)

我得到了返回值

nDateTime = #1/1/1970#
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?谢谢

unix vb.net datetime

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

我是否需要2个不同的PInvokes来获取和设置鼠标速度?

我想获得当前鼠标指针的速度,我想设置它.

为了得到它,我使用

Public Declare Function SystemParametersInfo Lib "user32.dll" Alias "SystemParametersInfoA" (ByVal uAction As Int32, ByVal uParam As Int32, ByRef lpvParam As Int32, ByVal fuWinIni As Int32) As Int32

    Dim Result As Int32 = 0
    Dim iSuccess As Integer = SystemParametersInfo(SPI_GETMOUSESPEED, 0, Result, 0)
Run Code Online (Sandbox Code Playgroud)

设置它,我用

   Public Declare Function SystemParametersInfo Lib "user32.dll" Alias "SystemParametersInfoA" (ByVal uAction As Int32, ByVal uParam As Int32, ByVal lpvParam As Int32, ByVal fuWinIni As Int32) As Int32

    Dim iVal As Integer = 10
    Dim iSuccess As Integer …
Run Code Online (Sandbox Code Playgroud)

.net vb.net api pinvoke

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

不能推断const auto&

我有以下代码行,效果很好:

const auto& dict = m_DictionaryAbbreviationsAndEnglish.Content;
Run Code Online (Sandbox Code Playgroud)

现在我想引入一个"if-then"子句,但编译器告诉我"无法推断'auto'类型(需要使用initalizer):

const auto& dict;

if (uSkipAbbreviationsAndEnglish)
{
    dict = m_DictionaryNoAbbreviationsNoEnglish.Content();
}
else
{
    dict = m_DictionaryAbbreviationsAndEnglish.Content();
}
Run Code Online (Sandbox Code Playgroud)

但是,当我像这样初始化它时......

const auto& dict=NULL;
Run Code Online (Sandbox Code Playgroud)

...,我无法使用此类代码分配"dict":

dict = m_DictionaryNoAbbreviationsNoEnglish.Content();
Run Code Online (Sandbox Code Playgroud)

错误是"表达式必须是可修改的l值".

任何人都可以告诉我如何正确地做到这一点?

谢谢.

ps:内容是这样的:

map<wstring,wstring> &clsTranslations::Content()
{
    return m_content;
}
Run Code Online (Sandbox Code Playgroud)

c++ auto

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

由于其保护级别,结构无法访问

我在类中声明了一个私有结构。

当我尝试使用它时,编译器会引发错误

struct inaccessible due to its protection level
Run Code Online (Sandbox Code Playgroud)

这是 C# 代码:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using UnityEngine.EventSystems;

public class HUDanimator : MonoBehaviour
{
    private struct udtThis
    {
        Color col1;
        Color col2;
        float wait;
        float fade;
    }

    private udtThis[] m = new udtThis[2];

    void Start()
    {
        udtThis n; //raises the compiler error
        n.wait = 0f; 
Run Code Online (Sandbox Code Playgroud)

我在这里做错了什么?

谢谢。

c# struct class unity-game-engine

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

是否有一个3-cased(小于零,大于零,零)的内置函数?

我想问一下是否有一个内置的C#语句允许我用更少的代码行编写以下内容:

float fH = Input.GetAxis("Horizontal"); //doesn't really matter where this comes from, but in this case, it's the user's input on a joystick

if (fH < 0)
{
    fH = -1;
}
else if (fH > 0)
{
    fH = 1;
}
else
{
    //don't change anything
}
Run Code Online (Sandbox Code Playgroud)

据我所知,我不能用

fH = if(...)
Run Code Online (Sandbox Code Playgroud)

因为这只允许2个案例,而我需要3个案例(小于0,大于0或0).

c# math

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

为什么调用堆栈不显示以前的调用?

在我的 VS2022 C++ 项目中,一段时间后出现问题。因为错误仅在 10 分钟后发生,所以我需要检查调用堆栈以查看错误发生之前发生了什么。

但是,调用堆栈太小。

它只是显示了这一点:

在此输入图像描述

我已经手动设置断点来跟踪它,所以我知道在“ProcessTxtLine”之前有几个我自己的函数(显示在调用堆栈中),但在调用堆栈中它们不存在。所以我无法双击它们来快速到达那里。

因为我不知道还有什么可能是重要的,所以我发布了整个 VS 2022 窗口的屏幕截图。

谢谢。

在此输入图像描述

编辑:

根据建议,我单击了第一个条目,然后选择了“加载符号”。

然而,这并没有帮助。它确实显示了更多,但仍然不是“我的”呼叫。

在此输入图像描述

c++ callstack visual-studio-2022

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