【发布时间】:2015-12-28 05:57:46
【问题描述】:
我正在尝试开发一个扑克复盘手,但我遇到了一个不知道如何解决的问题。使用以下方法:
public Replayer() //ctor
{
InitializeComponent();
pics = null;
iCounter = 0;
bShow = true;
var pos = picTable.PointToScreen(picTable.Location);
pos = picTable.PointToClient(pos);
picTable.Parent = picBackground;
picTable.Location = pos;
picTable.BackColor = Color.Transparent;
TenPlayerHoldem(); // for only test
}
private void TenPlayerHoldem() // only test
{
int iCounter = 10;
pics = new PictureBox[10];
for(int i = 0; i < iCounter; i++)
{
pics[i] = new PictureBox();
pics[i].Name = "pics" + i.ToString();
pics[i].Size = new Size(148, 74);
pics[i].Image = FreePokerReplayer.Properties.Resources.seatbold;
pics[i].SizeMode = PictureBoxSizeMode.StretchImage;
pics[i].BackColor = Color.Transparent;
pics[i].Visible = true;
pics[i].MouseClick += new MouseEventHandler(pics_Click);
picTable.Controls.Add(pics[i]);
}
pics[0].Location = new Point(379, 410);
var pos00 = pics[0].PointToScreen(pics[0].Location);
pos00 = pics[0].PointToClient(pos00);
pics[0].Parent = picTable;
pics[0].Location = pos00;
pics[1].Location = new Point(188, 377);
var pos01 = pics[1].PointToScreen(pics[1].Location);
pos01 = pics[1].PointToClient(pos01);
pics[1].Parent = picTable;
pics[1].Location = pos01;
pics[2].Location = new Point(56, 288);
var pos02 = pics[2].PointToScreen(pics[2].Location);
pos02 = pics[2].PointToClient(pos02);
pics[2].Parent = picTable;
pics[2].Location = pos02;
代码如下:
//another picturebox
var poscard = pictureBox1.PointToScreen(pictureBox1.Location);
poscard = pictureBox1.PointToClient(poscard);
pictureBox1.Parent = picTable;
pictureBox1.Location = poscard;
卡被切断...我尝试了所有我知道的解决方法,但没有用。知道如何使卡片出现在图像后面,即卡片的一部分被隐藏而没有这个“剪切”吗?
感谢您的帮助。
【问题讨论】:
-
pics[i].Size = new Size(148, 74);您是否尝试过更改这些值?他们看起来不对。对于扑克牌,高度应该是宽度的 2 或 3 倍。 -
使用
BringToFront() -
我建议你先给我们一些运行时值,比如@JohnnyMopp 说卡片的大小等
标签: c#