Jedna klasa dla wszystkich Form ...

Odpowiedz Nowy wątek
2011-08-18 23:07
0

Jak to zrobić?

Wykorzystałem:

public partial class Form1
{
}

ale to będzie wykorzystywane dla tylko Form1 a jak zrobić by było wykorzystywana ta klasa w form2??

Pozostało 580 znaków

2011-08-19 00:08
0

Najpierw opisz dokładnie, co chcesz osiągnąć.


"HUMAN BEINGS MAKE LIFE SO INTERESTING. DO YOU KNOW, THAT IN A UNIVERSE SO FULL OF WONDERS, THEY HAVE MANAGED TO INVENT BOREDOM."

Pozostało 580 znaków

2011-08-19 08:40
0

Utworzyłem klasę w nowym pliku która powoduje podczas poruszania Formy zmianę Opacity...

Teraz chcę aby ta klasa działała w każdym moim innym okienku a nie tylko jednym.

Pozostało 580 znaków

2011-08-19 09:34
0

Dziedziczenie się kłania:

public class FormBase : Form
{
/****/
}
 
public partial class Form1 : FormBase
{
/****/
}
 
public partial class Form2 : FormBase
{
/****/
}

Obie klasy dziedziczą po klasie FormBase i mają dostęp do nieprywatnych pól i metod. Uruchamianie metod bez wywoływania ich jawnie w klasie potomnej zależy jak to masz teraz zorganizowane

edytowany 1x, ostatnio: Sarrus, 2011-08-19 09:36

Pozostało 580 znaków

2011-08-19 10:29
0

mam

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
namespace WindowsFormsApplication1
{
    public partial class Form1
    {
      // funkcja przezroczystość...
    }
}
 

I kilka oddzielnych form... form2 form3 form4... jak zrobię dziedziczenie z innej formy to skopiuje mi wszystkie okienka do tej formy gdzie nie chcę...

Pozostało 580 znaków

2011-08-19 10:38
0

Ja nie wiem czego Ty chcesz więc nie mogę Ci udzielić dobrej odpowiedzi

Pozostało 580 znaków

2011-08-19 10:44
Dr zielu
0

Poczytaj coś na temat klas zaprzyjaźnionych.
http://www.zgapa.pl/zgapedia/Klasa_zaprzyja%C5%BAniona.html

Pozostało 580 znaków

2011-08-19 11:05
0

W C# nie ma klas zaprzyjaźnionych, chyba, że coś mi umknęło.
EDIT:
Owszem coś umknęło. Można użyć internal do osiągnięcia podobnego efektu, ale myślę, że to tutaj nie ma zastosowania.

@autor
A dlaczego forma bazowa miałaby mieć jakieś "okienka"? A nie może być pusta? Może mieć tylko jedną funkcję wirtualną która będzie ustawiać to co chcesz i możesz taką funkcję wywoływać z potomnych, albo wywołać ją w kontstruktorze(lub zdarzeniu) formy bazowej co spowoduje taki efekt jak chcesz(chyba bo tego nadal nie wiem).

edytowany 2x, ostatnio: Sarrus, 2011-08-19 11:12

Pozostało 580 znaków

2011-08-19 11:28
0

Mam kilka windows FORM...
i kod który robi przezroczystość

 using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
namespace WindowsFormsApplication1
{
    public partial class Form1  // by działał pod Form1 ale chcę by działał pod kilkoma na raz....
    {
        private const long BUTTON_DOWN_CODE = 0xa1;
        private const long BUTTON_UP_CODE = 0xa0;
        private const long WM_MOVING = 0x216;
 
        static bool left_button_down = false;
 
        protected override void DefWndProc(ref System.Windows.Forms.Message m)
        {
            //Check the state of the Left Mouse Button
            if ((long)m.Msg == BUTTON_DOWN_CODE)
                left_button_down = true;
            else if ((long)m.Msg == BUTTON_UP_CODE)
                left_button_down = false;
 
            if (left_button_down)
            {
                if ((long)m.Msg == WM_MOVING)
                {
                    //Set the forms opacity to 50% if user is moving
                    if (this.Opacity != 0.5)
                        this.Opacity = 0.5;
                }
            }
 
            else if (!left_button_down)
                if (this.Opacity != 1.0)
                    this.Opacity = 1.0;
 
            base.DefWndProc(ref m);
        }
    }
}

Fajnie wszystko ale jak zrobić aby... ta klasa była częścią kilku windows Form... ??? By podczas poruszania każdego okienka ta funkcja działała..... Chyba bardziej już łatwiej nie potrafię tego wytłumaczyć... Oczywiście już mam Windows Form o nazwie Form1.

edytowany 2x, ostatnio: goransol, 2011-08-19 11:29
Sprawdź jak działa to co Ci napisałem, czy może wolisz, żebym przekleił posta. - Sarrus 2011-08-19 11:31

Pozostało 580 znaków

2011-08-19 14:52
goransol
0

Dzięki :) powinno pójść bez problemu :)

Pozostało 580 znaków

2011-08-19 15:35
0

Niestety twój pomysł niezbyt działa ciągle errory...

ehh usunalem przypadkowo od ktorej formy ma sie zaczynac. Sorki...

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0