winform 控件大小变化的时候画点
时间: 2023-09-01 15:07:11 浏览: 64
在 WinForm 控件大小变化的时候画点,可以通过在控件的 `Paint` 事件中绘制点,并在控件的 `SizeChanged` 事件中调用 `Invalidate` 方法来触发控件重新绘制。具体实现步骤如下:
1. 在控件的 `Paint` 事件中绘制点:
```csharp
private void MyControl_Paint(object sender, PaintEventArgs e)
{
// 绘制一个红色的点
e.Graphics.FillEllipse(Brushes.Red, new Rectangle(10, 10, 5, 5));
}
```
2. 在控件的 `SizeChanged` 事件中调用 `Invalidate` 方法:
```csharp
private void MyControl_SizeChanged(object sender, EventArgs e)
{
// 触发控件重新绘制
this.Invalidate();
}
```
这样,当控件的大小变化时,就会触发 `SizeChanged` 事件,进而调用 `Invalidate` 方法,使控件重新绘制,从而显示出绘制的点。
相关问题
winform picbox图像自适应控件大小
如果想让PictureBox控件中的图片大小自适应控件大小,可以使用PictureBox的SizeMode属性,将其设置为PictureBoxSizeMode.Zoom。这样,当PictureBox的大小发生变化时,图片会自动缩放以适应控件大小。
代码示例:
```
pictureBox1.SizeMode = PictureBoxSizeMode.Zoom;
```
另外,如果想让PictureBox在窗体大小发生变化时自动调整大小,可以在窗体的Resize事件中重新设置PictureBox的大小和位置。
代码示例:
```
private void Form1_Resize(object sender, EventArgs e)
{
pictureBox1.Size = new Size(this.ClientSize.Width - 20, this.ClientSize.Height - 20);
pictureBox1.Location = new Point(10, 10);
}
```
我要在WPF用winform控件 控件尺寸可变化
在WPF中使用WinForms控件需要使用WindowsFormsHost控件。WindowsFormsHost是一个WPF控件,用于在WPF窗口中嵌入WinForms控件。要使WinForms控件的尺寸可变化,需要设置WindowsFormsHost控件的Child属性的Dock属性为Fill。这样WindowsFormsHost控件和其子控件就会随着窗口的大小自动调整大小。 以下是示例代码:
```xml
<Window x:Class="WpfWinFormsApp.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:wf="clr-namespace:System.Windows.Forms;assembly=System.Windows.Forms"
Title="MainWindow" Height="450" Width="800">
<Grid>
<WindowsFormsHost Name="winFormsHost" DockPanel.Dock="Fill">
<wf:Button Text="WinForms Button" Dock="Fill" />
</WindowsFormsHost>
</Grid>
</Window>
```