标签: movable

使无边框形式可移动?

有没有办法使一个没有边框的表单(FormBorderStyle设置为"none")可以在窗体上单击鼠标时移动,就好像有一个边框?

c# border movable winforms

101
推荐指数
8
解决办法
15万
查看次数

为什么std :: lock_guard不可移动?

为什么std::lock_guard不可移动,它会使代码更好:

auto locked = lock_guard(mutex);
Run Code Online (Sandbox Code Playgroud)

代替

std::lock_guard<std::mutex> locked(mutex);
Run Code Online (Sandbox Code Playgroud)

创建自己的版本有什么问题,例如:

template <typename T> class lock_guard_
{
  T* Mutex_;
  lock_guard_(const lock_guard_&) = delete;
  lock_guard_& operator=(const lock_guard_&) = delete;
public:
  lock_guard_(T& mutex) : Mutex_(&mutex)
  {
    Mutex_->lock();
  }
  ~lock_guard_()
  {
    if(Mutex_!=nullptr)
      Mutex_->unlock();
  }
  lock_guard_(lock_guard_&& guard)
  {
    Mutex_ = guard.Mutex_;
    guard.Mutex_ = nullptr;
  }
};

template <typename T> lock_guard_<T> lock_guard(T& mutex)
{
  return lock_guard_<T>(mutex);
}
Run Code Online (Sandbox Code Playgroud)

任何根本原因让它变得可移动是个坏主意吗?

c++ standards multithreading movable c++11

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

通过在C#中使用鼠标拖动控件来移动控件

我试图通过拖动它来移动名为pictureBox1的控件.问题是,当它移动时,它会一直从一个位置移动到鼠标周围的另一个位置,但它确实跟着它...这是我的代码.如果你能帮助我,我将非常感激

public partial class Form1 : Form
{
    public Form1()
    {
        InitializeComponent();
    }
    bool selected = false;
    private void pictureBox1_MouseDown(object sender, MouseEventArgs e)
    {
        selected = true;
    }

    private void pictureBox1_MouseMove(object sender, MouseEventArgs e)
    {
        if (selected == true)
        {
            pictureBox1.Location = e.Location;
        }
    }

    private void pictureBox1_MouseUp(object sender, MouseEventArgs e)
    {
        selected = false;
    }

}
Run Code Online (Sandbox Code Playgroud)

c# location picturebox movable mousedown

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

std :: map <> ::使用不可复制对象和统一初始化插入

看看下面的代码:

#include <utility>
#include <map>

// non-copyable but movable
struct non_copyable {
    non_copyable() = default;

    non_copyable(non_copyable&&) = default;
    non_copyable& operator=(non_copyable&&) = default;

    // you shall not copy
    non_copyable(const non_copyable&) = delete;
    non_copyable& operator=(const non_copyable&) = delete;
};

int main() {
    std::map<int, non_copyable> map;
    //map.insert({ 1, non_copyable() });  < FAILS
    map.insert(std::make_pair(1, non_copyable()));
    // ^ same and works
}
Run Code Online (Sandbox Code Playgroud)

在取消注释g ++ 4.7上的标记行时,编译此代码段失败.产生的错误表明non_copyable无法复制,但我预计它会被移动.

为什么插入std::pair使用统一初始化的构造失败但没有使用构造std::make_pair?两者都不应该产生可以成功移入地图的右值吗?

c++ movable noncopyable c++11

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

在c ++中创建不可复制但可移动的对象

就一个问题.看看C++ Boost库(特别是boost :: thread类)我最后想到:"如何创建一个定义无法复制但可以从函数返回的对象的类?"

那么考虑这个例子,boost :: thread类具有我之前提到的特性,所以可以这样做:

boost::thread make_thread();

void f()
{
    boost::thread some_thread=make_thread();
    some_thread.join();
}
Run Code Online (Sandbox Code Playgroud)

那么这意味着对象boost :: thread无法复制,但是从函数返回,这是可能的.这怎么可能????

我想一定不能提供拷贝构造函数,但是如何处理函数返回?它不需要使用复制构造函数???

谢谢

c++ boost object movable noncopyable

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

在WPF中进行可移动控制

我有一个面板,在该面板中有几个矩形控件(控件vaires的数量)我希望用户能够在面板内移动控件,以便他们可以以最适合他们的方式安排控件.有没有人有任何我可以阅读的资源或简单的提示,让我走向正确的道路?

谢谢

wpf xaml movable

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

嵌套可移动对象的 std::containers

我有一类NoCopy可移动的,但不是可复制的

我需要制作3 个NoCopy. 我可以创建一个空的,但无法添加任何元素。

我可以制作一个std::vector<NoCopy>orstd::queue<NoCopy>并填充它们。但不是为了std::vector<std::queue<NoCopy>>.

MWE:

#include <iostream>
#include <vector>
#include <queue>

class NoCopy{
public:
    NoCopy() = default;
    NoCopy& operator = (const NoCopy&) = delete;
    NoCopy(const NoCopy&) = delete;

    NoCopy(NoCopy&&) = default;
    NoCopy& operator = (NoCopy&&) = default;

};
using QNC = std::queue<NoCopy>;

int main(void) {
    QNC q;
    q.push(std::move(NoCopy()));

    std::vector<NoCopy> ncvec;
    ncvec.emplace_back();

    std::cout << "Queue size " << q.size() << ", vector size: " << …
Run Code Online (Sandbox Code Playgroud)

c++ containers movable

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

我可以使用该窗口内的对象移动窗口吗?

在Cocoa中是否可以通过拖动窗口内的对象来移动窗口?例如:我在窗口内有一个webview,大窗口,所以setMovableByWindowBackground显然不起作用.有没有办法点击并拖动Web视图并移动整个窗口?

cocoa window movable

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

Qt:在其他QGraphicsItem C++中限制QGraphicsItem的可移动区域

我认为我的问题类似于这篇文章,但在C++和QGraphicsItem中.

我想将我的对象的可移动区域固定在另一个QGraphicsItem中.如果我试图将它移到外面,我希望我的物体留在里面.

也许这个想法会被使用setParentItem().

有人知道如何限制QGraphicsItem内的可移动区域吗?

c++ qt movable qgraphicsitem

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

Extjs 3.x:我可以让面板或容器移动吗?

我有一个Ext.Container,我需要添加一个用户可移动的对象.

在其他地方看到Ext.Window不应该嵌套到对象中,因此我对其他可移动Ext对象的选择是什么?

此致,卡斯帕

javascript extjs object movable

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