Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Community
  • |
  • Diskussionsforum
Größe Imagebutton an Browsergröße anpassen
Nele
myCSharp.de - Member



Dabei seit:
Beiträge: 37

Themenstarter:

Größe Imagebutton an Browsergröße anpassen

beantworten | zitieren | melden

Hallo,

ich möchte gerne wenn sich die Größe des Browserfensters ändert, dass sich auch die Größe des Imagebutton ändert.

Kann mir jemand sagen, wie ich die Größe des Browsers(IE) in c# ermitteln kann?

Oder vielleicht geht es ja mit javascript:

da erhalte ich die Größe mit

document.body.clientHeight;
document.body.clientWidth;

mein Problem besteht jetzt, darin dem Imagebutton diese Werte für seine Width/Height Eigenschaft zu übergeben. Kann mir da vielleicht jemand helfen?

Vielen Dank für Eure Hilfe
Nele
private Nachricht | Beiträge des Benutzers
ikaros
myCSharp.de - Member



Dabei seit:
Beiträge: 1.739

beantworten | zitieren | melden

Das geht nur Clientseitig,
zb: mit Javascript auf das Resize reagieren und die Buttongrösse anpassen(Die Berechnung ist simple Mathematik). Alternativ lassen sich Elementgrössen auch prozentual angeben, dann erledigt das der Browser.

oder du machst wegen einem Resize einen Roundtrip(erfordert Neuladen der Seite wg. Grössenänderung(fast so gut wie 100 Popups in Sachen Akzeptanz)).
private Nachricht | Beiträge des Benutzers
Nele
myCSharp.de - Member



Dabei seit:
Beiträge: 37

Themenstarter:

beantworten | zitieren | melden

Danke für deine Antwort ikaros.

Mit javascript hab ich es schon probiert, aber, wie schon geschrieben, schaff ich es nicht die Werte die ich habe dem Imagebutton zuzuweisen.

Da bin ich vielleicht im falschen Forum ?

Nele
private Nachricht | Beiträge des Benutzers
herbivore
myCSharp.de - Experte

Avatar #avatar-2627.gif


Dabei seit:
Beiträge: 49.486
Herkunft: Berlin

beantworten | zitieren | melden

Hallo Nele,
Zitat
Da bin ich vielleicht im falschen Forum ?
Das habe ich auch gerade überlegt. So wie ich die Frage verstehe, gehört sie nach "Web- und Netzwerktechnologien" ==> verschoben.

herbivore
private Nachricht | Beiträge des Benutzers
ikaros
myCSharp.de - Member



Dabei seit:
Beiträge: 1.739

beantworten | zitieren | melden

Gib mal etwas Scriptcode. Meist liegts an falschen Zuweisungungen. Dh. es wurde die falsche Eigenschaft gewählt. Zur Laufzeit, muss man manchmal Eigenschaften die man aus statischen HTML nicht so kennt.
private Nachricht | Beiträge des Benutzers
Nele
myCSharp.de - Member



Dabei seit:
Beiträge: 37

Themenstarter:

beantworten | zitieren | melden

Hallo,
ich hatte garnicht bemerkt, dass noch neue Antworten in dem Thread sind 8o


Ich habe immernoch das gleiche Problem, daher schreib ich hier nochmal rein, in der Hoffnung auf Hilfe

also ich ruf mir beim Ändern der Fenstergröße die Weite und Höhe des Fensters auf
die Werte habe ich also in Variablen im javascript teil gespeichert.

Mein Problem besteht jetzt darin, die Variablen zu übergeben

<body id="bodytag" MS_POSITIONING="GridLayout">
<form id="Form1" method="post" runat="server">
<asp:imagebutton id="ImageButton1" style="Z-INDEX: 100; LEFT: 24px; POSITION: absolute; TOP: 40px" runat="server" Width="50px"  Height="50px"></asp:imagebutton>
form>
<script language="javascript">
   // für Höhe und Breite des Browser Fensters
   var h = document.body.clientHeight;
  var w = document.body.clientWidth; 

</script>
</body>





Weiß jemand Rat?

Danke
Nele
private Nachricht | Beiträge des Benutzers
Cord Worthmann
myCSharp.de - Member



Dabei seit:
Beiträge: 1.203

beantworten | zitieren | melden



<script type="text/javascript">
onresize /*<edit>*/ = onload /*</edit>*/ = function(){
    var imgBtn = document.getElementById('ImageButton1');
    imgBtn.style.height = (window.innerHeight ? innerHeight : document.body.offsetHeight) + 'px';
    imgBtn.style.width = (window.innerWidth ? innerWidth : document.body.offsetWidth) + 'px';
};
</script>


Grüsse
private Nachricht | Beiträge des Benutzers
AlfameisterT
myCSharp.de - Member



Dabei seit:
Beiträge: 154

beantworten | zitieren | melden

Also ich sehe da 2 Probleme.
Du musst die ID deines Buttons clientseitig irgendwie herausbekommen.
Du musst die aktuelle Breite nach einem Postback wieder setzten.

Da die tatsächliche Id ja berechnet wird, musst du dir da was einfallen lassen. Das einfachste ist, du wählst einen markenten String und suchst durch deine Inputcontrols.

getElementsByTagName('input') -> und dann dein Array durchackern und den Teilstring suchen .

So, damit nach nem Postback dein Button nicht wieder die im Code definierte Größe bekommt, speicherst du per Javascript den Wert in ein HiddenField.
Im Servercode kommst du ja an dieses HiddenField, nimmst den Wert und setzt deine Breite im Button.

.
private Nachricht | Beiträge des Benutzers
Nele
myCSharp.de - Member



Dabei seit:
Beiträge: 37

Themenstarter:

beantworten | zitieren | melden

Vielen lieben Dank für Eure Hilfe.

Jetzt funktioniert es


Nele
private Nachricht | Beiträge des Benutzers