Laden...

TrackBar Regler Verschiebung nur um 0,1?!

Erstellt von Tschakle vor 14 Jahren Letzter Beitrag vor 14 Jahren 4.575 Views
T
Tschakle Themenstarter:in
17 Beiträge seit 2009
vor 14 Jahren
TrackBar Regler Verschiebung nur um 0,1?!

Hey.

Sorry aber ich hab schon ewig gesucht, aber nirgends was gefunden.

Die Voreinstellung für den Abstand zwischen den Punkten beim Verschieben des Reglers liegt ja bei 1. Wie kann ich aber den Regler auf 0,1 ziehen. Hab nichtmal gefunden wie ich das Ganze so einstellen kann, dass die Abstände 5 sind 😕 .

Hoffe mir kann hier wer helfen.

Danke

Lg Thomas

1.002 Beiträge seit 2007
vor 14 Jahren

Hallo Tschakle,

wenn du beispielsweise eine Skalierung von 0 bis 2 erreichen willst (z.B. 1,3; 0,1; 1,9), kannst du eine Skala von 0 bis 20 einführen und den jeweiligen Wert durch 10 dividieren, um deine Fließkommazahl zu erhalten.

m0rius

Mein Blog: blog.mariusschulz.com
Hochwertige Malerarbeiten in Magdeburg und Umgebung: M'Decor, Ihr Maler für Magdeburg

916 Beiträge seit 2008
vor 14 Jahren

Wieso suchst du?
Wenn du dir die Schnittstellen mal angeschaut hättest wärst du vielleicht selber drauf gekommen.


void.TrackBar.SetRange(int minValue, int maxValue);

Ergo: Die Range ist auf ganze Zahlen begrenzt.

Fazit: Wenn du dennoch um 0,1 weiter scrollen willst dann mach deinen bereich um den Faktor 10 Größer und teile danach durch 10.

Beispiel: Deine gewollte Range liegt zwischen 0-5. Das heißt du musst SetRange(0,50) aufrufen, und dann bei TrackBar.Value / 10 Teilen.

Oder du überschreibst eine TrackBar und änderst die so ab das sie auch double kann.

Again what learned...

1.002 Beiträge seit 2007
vor 14 Jahren

Hallo rollerfreak2,

Wieso suchst du?

weil er verständlicherweise auf vorhandene Lösungen zurückgreifen wollte, ohne selbst Hand anlegen zu müssen.

m0rius

Mein Blog: blog.mariusschulz.com
Hochwertige Malerarbeiten in Magdeburg und Umgebung: M'Decor, Ihr Maler für Magdeburg

T
Tschakle Themenstarter:in
17 Beiträge seit 2009
vor 14 Jahren

Danke soweit an die Beteiligten, aber ich lasse die zahl immer in einer textBox ausgeben, dort erscheinen aber nur die ganzen Zahlen, sprich 1 und 2 ( bei Range 0,20)...liegt bestimmt an int und double oder?!...wie kann ich das umschreiben das ich auch die 1,3 oder so angezeigt bekomme?

Danke

1.696 Beiträge seit 2006
vor 14 Jahren

Danke soweit an die Beteiligten, aber ich lasse die zahl immer in einer textBox ausgeben, dort erscheinen aber nur die ganzen Zahlen, sprich 1 und 2 ( bei Range 0,20)...liegt bestimmt an int und double oder?!...wie kann ich das umschreiben das ich auch die 1,3 oder so angezeigt bekomme?

Danke

Hallo,

Was hältst du davon, vor der Ausgabe den Wert durch 10 zu teilen? Wie wär's mit etwas selbst mitdenken?

Ich bin verantwortlich für das, was ich sage, nicht für das, was du verstehst.

**:::

1.002 Beiträge seit 2007
vor 14 Jahren

Hallo vbprogger,

Was hältst du davon, vor der Ausgabe den Wert durch 10 zu teilen? Wie wär's mit etwas selbst mitdenken?

zumal es bereits 2mal geschrieben wurde ...

m0rius

Mein Blog: blog.mariusschulz.com
Hochwertige Malerarbeiten in Magdeburg und Umgebung: M'Decor, Ihr Maler für Magdeburg

T
Tschakle Themenstarter:in
17 Beiträge seit 2009
vor 14 Jahren

Sorry aber das hab ich eigentlich gemacht mit


track_A.SetRange(0, 20);
A = (track_A.Value)/10;
txtParaA.Text = A.ToString();

kan nden regler dann schön verschieben, aber erst inner Mitte springt er auf 1 um, also so als wenn er halt die davor net anzeigt...

Sorry ich versuch echt viel selbst drüber nachzudenken, aber bin noch net allzu erfahren 😕

Danke

1.002 Beiträge seit 2007
vor 14 Jahren

Hallo Tschakle,

das sind Grundlagen. Du führst eine Integerdivision durch, die evtl. auftretende Nachkommastellen nicht berücksichtigt.
Bitte beachte [Hinweis] Wie poste ich richtig? Punkt 1.1.1.

m0rius

Mein Blog: blog.mariusschulz.com
Hochwertige Malerarbeiten in Magdeburg und Umgebung: M'Decor, Ihr Maler für Magdeburg

1.696 Beiträge seit 2006
vor 14 Jahren

Was ist A für einen Typ? Integer? Wenn ja dann sollst du dich nicht wundern, wenn nein musst du das Ergebnis der Division in entsprechende Typ casten, dann klappt auch mit der Dezimalanzeige.

Ich bin verantwortlich für das, was ich sage, nicht für das, was du verstehst.

**:::

D
171 Beiträge seit 2008
vor 14 Jahren

Bin mir nicht ganz sicher, hab aber ne C++ Lösung

erstens A ist ein Double?

in C++ war es so, dass wenn du ein int durch einen int teilst du auch einen Int zurück bekommst, also rest wert division, versuche

A = (track_A.Value)/10,0;

1.002 Beiträge seit 2007
vor 14 Jahren

Hallo vbprogger,

Was ist A für einen Typ? Integer? Wenn ja dann sollst du dich nicht wundern

auch, wenn A ein double wäre, würde er das selbe Ergebnis erhalten, da track_A.Value immer ein Integer ist.

m0rius

Mein Blog: blog.mariusschulz.com
Hochwertige Malerarbeiten in Magdeburg und Umgebung: M'Decor, Ihr Maler für Magdeburg

T
Tschakle Themenstarter:in
17 Beiträge seit 2009
vor 14 Jahren

Sorry Leute 😕...aber habs jetzt hinbekommen...nur 10 war natürlich ein integer (A ist double), also hab ich dann wie auch geschrieben 10.0 geschireben....jetzt gehts...

Großen DANK!!!

Lg Thomas

916 Beiträge seit 2008
vor 14 Jahren

Manchmal fragt man sich ob die Leute auch ihren eigenen Code lesen.


int A = 5;
A = 5 / 10;

Quizfrage, was steht danach in A?


int A = 5;
double B = 5 / 10;

Quizfrage, was steht danach in B?

Again what learned...

D
171 Beiträge seit 2008
vor 14 Jahren

Auf jedenfall das gleiche

916 Beiträge seit 2008
vor 14 Jahren

Jepp und


double B = 5d / 10d;
double C = (double) 5 / 10;
double D = 5.0 / 10.0;

nun...?

Again what learned...