Toon posts:

[c#] Actieve veld kleuren

Pagina: 1
Acties:
  • 43 views sinds 30-01-2008

Verwijderd

Topicstarter
Ik heb al even gezocht op het net maar ik kan niet precies vinden wat ik zoek. Ik heb een aantal pagina's met invulvelden en nou wil ik het actieve veld laten oplichten met een kleurtje (of juist wit). Iemand een id hoe ik dat doe?

Nickolass

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 20-08 11:40

gorgi_19

Kruimeltjes zijn weer op :9

Webforms of winforms?

Digitaal onderwijsmateriaal, leermateriaal voor hbo


Verwijderd

Heel simpel (if in winforms)

2 events toevoegen
C#:
1
2
this.textBox1.Leave += new System.EventHandler(this.textBox1_Leave);
this.textBox1.Enter += new System.EventHandler(this.textBox1_Enter);


Dat zijn 2 events die getriggerd worden als de control de focus krijgt
wat je bijvoorbeeld kunt doen is bij enter focus background veranderen en bij leave natuurlijk weer terug changen. wat wel een leuk effect geeft (maar ook verwarring trouwens) is textBox1.Enabled = false; en dat tie bij Enter weer true wordt :)

[ Voor 42% gewijzigd door Verwijderd op 18-07-2003 10:36 . Reden: typo ]


Verwijderd

Topicstarter
Mijn excuses, het is een Visual C# webapplication.

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 20-08 11:40

gorgi_19

Kruimeltjes zijn weer op :9

Verwijderd schreef op 18 July 2003 @ 10:29:
Mijn excuses, het is een Visual C# webapplication.
Vergeet het hele c# gedeelte. Kijk eerst hoe je het met Javascript / HTML voor elkaar krijgt. Daar ligt het probleem; c# heeft er nog geen donder mee te maken op dit moment.

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • hopakee
  • Registratie: December 2001
  • Laatst online: 25-01-2023
Tenzij je dit serverside wil afhandelen, maar dat lijkt me niet erg handig :)

Verwijderd

Er bestaat in JavaScript toch iets van een event rollover oid? probeer daar eens op te kijken

Het zou wel serverside kunnen. maar dan moet je op een of andere manier de tabindex kunnen bijhouden en op die manier de buttons van kleur veranderen dat is een heleboel gepriechel die denk ik met JS zo opgelost is

[ Voor 54% gewijzigd door Verwijderd op 18-07-2003 10:39 ]


  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 20-08 11:40

gorgi_19

Kruimeltjes zijn weer op :9

hopakee schreef op 18 July 2003 @ 10:38:
Tenzij je dit serverside wil afhandelen, maar dat lijkt me niet erg handig :)
Geloof me, dat wil je niet.. ;) 20 velden die gelijk 20 pageviews gaan opleveren. Vervolgens moet je serverside nog zelf de focus gaan regelen.. ;) Ik denk niet dat je hier echt vrolijk van wordt; buiten dit vertraagd het je applicatie ook nog enorm.

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 20-08 11:40

gorgi_19

Kruimeltjes zijn weer op :9

Verwijderd schreef op 18 July 2003 @ 10:38:
Het zou wel serverside kunnen. maar dan moet je op een of andere manier de tabindex kunnen bijhouden en op die manier de buttons van kleur veranderen dat is een heleboel gepriechel die denk ik met JS zo opgelost is
Serverside is het ook zo gebeurd om te maken. Meest eenvoudige manier is om de ID's van de textboxen te nummeren.

Heel simpel voorbeeldje, wat niet echt goed werkt, maar wel een idee geeft:
Visual Basic .NET:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
       Protected Overrides Sub CreateChildControls()
          Dim t As TextBox = New TextBox
          t.ID = "txtData_1"
          AddHandler t.TextChanged, AddressOf HandleChange
          ....
      End sub


     Private Sub HandleChange(ByVal sender As Object, ByVal e As EventArgs)

          Dim txtTextbox As TextBox = CType(sender, TextBox)
          Dim currentItem As Integer = Int32.Parse(txtTextbox.ID.ToString.Replace("txtData_", ""))
          txtTextbox.CssClass = "NotSelected"

          CType(Me.FindControl("txtData_" & (currentItem + 1).ToString), TextBox).CssClass = "Selected"

      End Sub


Ow ja, voordat mensen over de code wat gaan zeggen.. Ik weet het; 't is niet netjes, d'r zit nog een bug in (hoe werkt hte bij de laatste textbox), nette foutafhandeling mag er nog inkomen en ik heb het niet getest.

Maar goed, dit was een richting van een serverside oplossing, die imho geen aanbeveling verdient.

[ Voor 32% gewijzigd door gorgi_19 op 18-07-2003 10:53 ]

Digitaal onderwijsmateriaal, leermateriaal voor hbo


Verwijderd

Ik ken zelf geen javascript maar ik had dit inmekaar gepriecheld

code:
1
<INPUT id="tb1" onfocus="DoIt(1)" style="Z-INDEX: 101; LEFT: 238px; POSITION: absolute; TOP: 242px; BACKGROUND-COLOR: <% Response.Write(strColor[1]); %>" type="text">

Moet je alleen zorgen dat de functie DoIt alle overige controls op wit zet en degene die je meegeeft een ander kleurtje krijgt. ik heb dit gedaan met een array effe simpel
code:
1
2
3
4
5
6
7
8
function DoIt(int i)
{
foreach (string str in strColor)
{
str = "#000000";
}
strColor[i] = "#ff00ff";
}


maar zoals ik al zei ik ken geen javascript het geeft je alleen een idee :)

Verwijderd

Topicstarter
Wow, thx voor de snelle reacties, volgens mij iets te hoog gegrepen voor me maar ik ga er eens mee aan de slag!!

Verwijderd

Verwijderd schreef op 18 juli 2003 @ 11:18:
Wow, thx voor de snelle reacties, volgens mij iets te hoog gegrepen voor me maar ik ga er eens mee aan de slag!!
te hoog gegrepen??? natuurlijk niet als je altijd maar op je eigen niveau werkt zul je nooit beter worden :)

Verwijderd

onBlur en onFocus...
code:
1
2
3
4
5
6
7
8
9
10
11
<script>
  function setColor(obj){
    if(obj.bgcolor=="green"){
       obj.bgcolor="red";
    }else{
       obj.bgcolor=="red";
    }
  }
</script>

<input type="text" name="veld[0]" onBlur="setColor(this)" onFocus="setColor(this)" />

???

  • dusty
  • Registratie: Mei 2000
  • Laatst online: 21-02 00:06

dusty

Celebrate Life!

Het is dus geen C# probleem maar een javascript probleem.

Move P&W -> W&G

En volgens een W&G mod zal je vervolgens eerst eens wat over javascript zelf moeten lezen, mocht je dan nog steeds een probleem hebben kan je altijd een goeie nieuwe post openen in de juiste sub-forum. ( en vandaar ook meteen een slot op dit topic)

Back In Black!
"Je moet haar alleen aan de ketting leggen" - MueR

Pagina: 1

Dit topic is gesloten.