protected override void OnPaint(PaintEventArgs e) {} 不生效
时间: 2023-05-16 22:04:33 浏览: 64
这个问题可能是因为你没有在类中正确地重写 OnPaint 方法。请确保你已经正确地继承了 PaintEventArgs 类,并且在 OnPaint 方法中添加了你需要绘制的代码。如果你需要更多的帮助,请提供更多的上下文信息。
相关问题
protected override void OnPaint(PaintEventArgs e) { using (Bitmap buffer = new Bitmap(this.Width, this.Height)) { using (Graphics g = Graphics.FromImage(buffer)) { // 在缓存中绘制图像 base.OnPaint(new PaintEventArgs(g, this.ClientRectangle)); } // 将缓存中的图像渲染到控件上 e.Graphics.DrawImage(buffer, 0, 0); } }在C++/CLR 的写法
在C++/CLR中,可以使用以下代码实现同样的功能:
void MyControl::OnPaint(PaintEventArgs^ e)
{
Bitmap^ buffer = gcnew Bitmap(this->Width, this->Height);
Graphics^ g = Graphics::FromImage(buffer);
// 在缓存中绘制图像
this->OnPaint(gcnew PaintEventArgs(g, this->ClientRectangle));
// 将缓存中的图像渲染到控件上
e->Graphics->DrawImage(buffer, 0, 0);
delete g;
delete buffer;
}
protected override void OnModelCreating(DbModelBuilder modelBuilder)
protected override void OnModelCreating(DbModelBuilder modelBuilder) 方法是 Entity Framework 中 DbContext 类的一个重要方法之一。它用于配置实体类型与数据库模式之间的映射关系。
在这个方法中,你可以使用 modelBuilder 对象来进行配置。下面是一些常见的用法示例:
1. 配置实体的主键:
```csharp
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Entity<YourEntity>()
.HasKey(e => e.Id);
}
```
2. 配置实体属性的数据类型和长度:
```csharp
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Entity<YourEntity>()
.Property(e => e.Name)
.HasColumnType("nvarchar")
.HasMaxLength(100);
}
```
3. 配置实体之间的关系(一对一、一对多、多对多):
```csharp
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Entity<Author>()
.HasMany(a => a.Books)
.WithRequired(b => b.Author)
.HasForeignKey(b => b.AuthorId);
}
```
4. 配置表名、列名等数据库模式细节:
```csharp
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Entity<YourEntity>()
.ToTable("YourTableName")
.Property(e => e.Id)
.HasColumnName("YourIdColumnName");
}
```
上述示例只是一些常见的用法,你可以根据具体需求使用 modelBuilder 对象提供的方法来进行更复杂的配置。
注意,重写 OnModelCreating 方法时,需要调用基类的同名方法以保证 Entity Framework 的默认配置仍然生效:
```csharp
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
base.OnModelCreating(modelBuilder);
// 进行自定义配置
}
```
通过重写 OnModelCreating 方法,你可以对数据库模型进行灵活的配置,以满足应用程序的需求。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)