Я могу создать прозрачные кнопки в Visual Studio 2005 с C#

Я бы использовал groupby для чего-то подобного, так как вы можете иметь дело с каждым домохозяйством одновременно

Пример (обратите внимание, что не все случаи обрабатываются)

import pandas as pd

# Create the dataframe
df = pd.DataFrame(data={
    "TypeOfPerson": ["Son", "Parent", "Daughter", "Son", "Parent", "Daughter", "Daughter", "Parent", "Son"],
    "HouseholdNumber": [1, 1, 1, 1, 2, 2, 2, 3, 3],
    "Age": [17,50,20,13,40,19,5, 50, 25]
})

# Add new column
df["Child"] = pd.Series()

# Group by household
households = df.groupby("HouseholdNumber")

# Iterate through groups
for household_number in households.groups:
    household = households.get_group(household_number)

    # Household offspring
    offspring = household.query("TypeOfPerson == 'Son' | TypeOfPerson == 'Daughter'")

    # Sons and daughters that are 18 or younger
    children = offspring.query("Age <= 18")

    # Sons and daughters that young adults (19 >= age <= 25)
    young_adults = household.query("Age >= 19 & Age <= 25")

    # Parents
    parents = household.query("TypeOfPerson == 'Parent'")

    # Change original data frame
    df.loc[offspring.index, "Child"] = "No"
    if children.shape[0]:
        df.loc[parents.index, "Child"] = "a" 
    elif young_adults.shape[0]:
         df.loc[parents.index, "Child"] = "b" 
6
задан Kent Fredric 28 November 2008 в 11:03
поделиться

5 ответов

Я вполне уверен, необходимо использовать PNGs с WinForms для получения прозрачности изображения. Я знаю, что использовал их успешно.

Править: Когда я использовал PNGs, я накладывал их с управлением Изображением на Form1. BackgroundImage; я не использовал их в кнопках.

Я думаю, что Ваш лучший выбор состоит в том, чтобы переключиться от использования кнопочного управления к использованию управления изображением. Вы могли бы также попытаться изменить стиль кнопки на плоский (я думаю, что это было плоско, возможно, один из других стилей), и видящий, можно ли получить эффект, Вы хотите тот путь.

1
ответ дан 17 December 2019 в 07:10
поделиться

Необходимо установить свойство BackColor кнопки к "Прозрачному".

Button1. BackColor = система. Рисование. Цвет. Прозрачный;

0
ответ дан 17 December 2019 в 07:10
поделиться

создайте класс, полученный из кнопки, и вставьте этот код.

    protected override CreateParams CreateParams
    {
        get
        {
            const int WS_EX_TRANSPARENT = 0x20;
            CreateParams cp = base.CreateParams;
            cp.ExStyle |= WS_EX_TRANSPARENT;
            return cp;
        }
    }

и в метод create

        SetStyle(ControlStyles.SupportsTransparentBackColor, true);
        SetStyle(ControlStyles.Opaque, true);
        this.BackColor = Color.Transparent;
0
ответ дан 17 December 2019 в 07:10
поделиться

Я использую Visual Studio 2005 и пробовал следовать приведенному выше примеру, но он не работал (фрагмент в методе создания). У меня есть фон для моей формы, и я пытаюсь создать скошенные прозрачные кнопки.

в настоящее время вставка приведенного выше кода делает мой фон прозрачным, а все мои кнопки - белыми.

вот фрагмент моего кода

       Bitmap mainFormBackground = (Bitmap)Image.FromFile("background.jpg");
        this.BackgroundImage = mainFormBackground;
        this.BackColor = Color.Black;
        this.ForeColor = Color.White;

Добавить некоторые кнопки

        SetStyle(ControlStyles.SupportsTransparentBackColor, true);
        SetStyle(ControlStyles.Opaque, true);
        this.BackColor = Color.Transparent;

Я даже пробовал

         btnName.BackColor = Color.Transpare;

это тоже не работало

0
ответ дан 17 December 2019 в 07:10
поделиться
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Drawing;

public class TransparentControl : Control
{
    public TransparentControl()
    {
        SetStyle(ControlStyles.SupportsTransparentBackColor, true);
        SetStyle(ControlStyles.Opaque, true);
        SetStyle(ControlStyles.ResizeRedraw, true);
        this.BackColor = Color.Transparent;
    }

    protected override void OnPaint(PaintEventArgs pevent)
    {
        Graphics g = pevent.Graphics;
        g.DrawRectangle(Pens.Black, this.ClientRectangle);
    }


    protected override void OnPaintBackground(PaintEventArgs pevent)
    {
        // don't call the base class
        //base.OnPaintBackground(pevent);
    }


    protected override CreateParams CreateParams
    {
        get
        {
            const int WS_EX_TRANSPARENT = 0x20;
            CreateParams cp = base.CreateParams;
            cp.ExStyle |= WS_EX_TRANSPARENT;
            return cp;
        }
    }

    // rest of class here...
}
1
ответ дан 17 December 2019 в 07:10
поделиться
Другие вопросы по тегам:

Похожие вопросы: