Jeg skal udregne værdien for en track slider jeg har lavet. Men denne udregner færdien ud fra selve userkontrollens størrelse og ikke min bar. Hvordan omregner jeg x som er hele kontrollens punkt til min bars punkt, som f.eks. er 40 px kortere end control width
Den moderne arbejdsplads er i stigende grad afhængig af mødelokaler til at fremme samarbejde, men dette skift medfører også stigende sikkerhedsudfordringer.
Hvis du har en property som hedder barLeft og barRight, som er x koordinaterne i pixels for din track slider, så kan du gøre sådan:
private int CalcValueByPoint(int xControl) { int x = xControl - this.barLeft; //Her tager vi højde for at x er for hele kontrollen. float coef = (float)(this.maxValue - this.minValue) / (float)(this.barRight - this.barLeft); return (int)(x * coef + this.minValue); }
Jeg tillader mig at rette lidt i kommentaren i koden:
private int CalcValueByPoint(int xControl) { int x = xControl - this.barLeft; //Her tager vi højde for at xControl er for hele kontrollen, og x bare er for baren. float coef = (float)(this.maxValue - this.minValue) / (float)(this.barRight - this.barLeft); return (int)(x * coef + this.minValue); }
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.