小编Tib*_*ibi的帖子

ToolStripContainer 中的工具栏不保持其位置

我不知道为什么会这样......但是,每次我打开一个表单的设计器时,ToolStripContainer 中的工具栏都会移动到另一个下面,而不是都在同一行上(我之前是如何离开的) .

这个问题有什么解决办法吗?

.net c# forms toolbar toolstrip

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

类模板专门化中的成员函数语法

我有一个类模板,我们称之为A,它具有一个成员函数abc()

template <typename T>
class A{
public:
    T value;
    void abc();
};
Run Code Online (Sandbox Code Playgroud)

我可以abc()使用以下语法在类声明之外实现成员函数:

template <typename T>
void A<T>::abc()
{
    value++;
}
Run Code Online (Sandbox Code Playgroud)

我想做的就是为这个类创建模板专门化int

template <>
class A<int>{
public:
    int value;
    void abc();
};
Run Code Online (Sandbox Code Playgroud)

问题是:abc()为特殊类实现的正确语法什么?

我尝试使用以下语法:

template <>
void A<int>::abc()
{
   value += 2;
}
Run Code Online (Sandbox Code Playgroud)

但是,这不能编译。

c++ syntax templates template-specialization

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

是否可以从机器代码中检测CPU架构?

假设有两种可能的架构,ARM和x86.有没有办法检测代码运行的系统,从汇编/机器代码实现这样的事情?

if (isArm)
    jmp to arm machine code
if (isX86)
    jmp to x86 machine code
Run Code Online (Sandbox Code Playgroud)

我知道ARM机器代码与x86机器代码有很大不同.我正在考虑的是一些精心设计的汇编指令,它们会产生相同的二进制机器代码.

x86 assembly arm x86-64

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

如何在C++/Qt(在Windows上)中读取.exe和.dll中的图标?

如何使用C++(和Qt)从DLL或EXE文件中读取图标?

我在谷歌上找不到任何相关的东西,我只得到如何使用qt更改应用程序图标,这不是我需要的.

windows dll icons qt exe

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

加载/卸载时由共享库执行的代码

是否可以在加载(或卸载)库时立即执行的共享库(Windows 上的 .dll 和 linux 上的 .so)中创建函数?

就像 main() 函数是可执行文件的入口点一样,我可以定义一个函数在加载或卸载 DLL 时执行吗?

例如:

void _atstart()
{
    // Initialize some stuff needed by the library
}

void _atexit()
{
    // Release some allocated resources
}
Run Code Online (Sandbox Code Playgroud)

我想我在某处看到过这样的例子,但我再也找不到了,并且在互联网上找不到任何关于此的信息。

如果它有任何用处,我正在用 MinGW 编译代码。

c++ dll shared-libraries

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

如何在c ++中声明类之前使用它?

我试图通过重载'='运算符为两个类创建一些转换函数.这是一些代码:

class Vertex {
public:
    int X, Y;
        // .......
    Vertex& operator= (const VertexF &);   // ERROR, VertexF is not declared
};

class VertexF {
public:
    float X, Y;
        // ......
    VertexF& operator= (const Vertex &);
};
Run Code Online (Sandbox Code Playgroud)

我怎样才能做到这一点?

c++ class operator-overloading

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

如何判断管道上是否有新数据?

我正在 Windows 上工作,我正在尝试学习管道及其工作原理。

我还没有发现的一件事是如何判断管道上是否有新数据(来自管道的子/接收器端?

通常的方法是有一个线程读取数据并将其发送以进行处理:

void GetDataThread()
{
    while(notDone)
    {
        BOOL result = ReadFile (pipe_handle, buffer, buffer_size, &bytes_read, NULL);
        if (result) DoSomethingWithTheData(buffer, bytes_read);
        else Fail();
    }
}
Run Code Online (Sandbox Code Playgroud)

问题是 ReadFile() 函数等待数据,然后读取数据。有没有一种方法可以判断是否有新数据,而无需实际等待新数据,如下所示:

void GetDataThread()
{
    while(notDone)
    {
        BOOL result = IsThereNewData (pipe_handle);
        if (result) {
             result = ReadFile (pipe_handle, buffer, buffer_size, &bytes_read, NULL);
             if (result) DoSomethingWithTheData(buffer, bytes_read);
             else Fail();
        }

        DoSomethingInterestingInsteadOfHangingTheThreadSinceWeHaveLimitedNumberOfThreads();
    }
}
Run Code Online (Sandbox Code Playgroud)

c++ winapi pipe named-pipes

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

无法在C#中连接到本地SQL Server

我想要做的是使用SQL Server 2008数据库的应用程序,但我无法连接到数据库.

这是我的代码:

public Form1()
{
     InitializeComponent(); 
     connection = new SqlConnection("Server=(local);Integrated Security=true");
     connection.Open();    
     CreateDb();    
     this.FormClosed += new FormClosedEventHandler(Form1_FormClosed);
}
Run Code Online (Sandbox Code Playgroud)

我得到的错误说:

建立与SQL Server的连接时发生与网络相关或特定于实例的错误.服务器未找到或无法访问.验证实例名称是否正确,以及SQL Server是否配置为允许远程连接.(提供者:命名管道提供程序,错误:40 - 无法打开与SQL Server的连接)

我正在尝试使用Windows身份验证进行连接...我做错了什么?

c# sql forms sql-server connection

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

溢出时TextBox会自动调整大小(在WPF中)

我正在尝试创建一个属性面板,我正在使用列表框.我不知道制作动态表的另一种方法,所以这就是我所做的:

<DataTemplate x:Key="PropertyListTemplate">
        <Grid>
            <Grid.ColumnDefinitions>
                <ColumnDefinition Width="100" />
                <ColumnDefinition Width="*" />
            </Grid.ColumnDefinitions>
            <TextBlock Text="{Binding Name}" />

            <ComboBox x:Name="combo"
                      Grid.Column="1"
                      ItemsSource="{Binding ComboItems}"
                      SelectedIndex="{Binding Value, Mode=TwoWay}" 
                      Visibility="Hidden" />

            <TextBox x:Name="text"
                     Grid.Column="1"
                     Text="{Binding Value, Mode=TwoWay}"
                     Visibility="Hidden" />
            <!-- ... More controls -->

        </Grid>
        <DataTemplate.Triggers>
            <DataTrigger Binding="{Binding TypeString}" Value="Combobox">
                <Setter TargetName="combo" Property="Visibility" Value="Visible" />
            </DataTrigger>
            <!-- ... More triggers -->
        </DataTemplate.Triggers>
    </DataTemplate>
Run Code Online (Sandbox Code Playgroud)

问题是这样的:

溢出

当文本框或组合框溢出时,它会自动调整大小.如何禁用此行为?应根据父列表框的宽度调整控件的宽度...我不想要任何水平滚动条...

c# wpf combobox textbox overflow

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