الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

زر عند النقر عليه يتغير المكتوب عليه باستمرار

مغلق
بدأه rania_exe في 7 ديسمبر 2007 · 11 رد · 968 مشاهدة · في ASP.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

عندى زر مكتوب عليه xاريده عند الضغط عليه ان يتغير الى yوالعكس اى ان عند الضغط على y يكون اسمه x

ارجو ان يكون السؤال واضح ولكم جزيل الشكر

سبحان الله وبحمده سبحان الله العظيم

#2

والله سؤال غريب جدا

انا مش عارف إذا كان صعب جدا ولا سهل جدا بسيطه

في حدث الbutton ضعي button1.text="x"

or

button1.text="y"

نموت وتحيا ...................فلسطين .

#3

استعملي الشرط

if btn.text="y" then btn.text="x" end if

if btn.text="x" then btn.text="y" end if

joseph.gif

logo.gif

CCNA 640-802

مدونتي

#4

ان كان المقصود التغيير بدون PostBack فيجب القيام بهذه المهمه عن طرق الJavascript

#5

اريد عند الضغط على y يتحول الى x وينفذ جملة

وعند الضغط على x يتحول الى y وينفذ جملة

ومشكورين جميعا

سبحان الله وبحمده سبحان الله العظيم

#6

اولا نقوم بإضافة كلا من العنصرين من نوع button

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
	<title>Untitled Page</title>
</head>
<body>
	<form id="form1" runat="server">
		<div>
			<asp:Button ID="Button1" runat="server" Text="Button" />
			<asp:Button ID="Button2" runat="server" Text="Button" /></div>
	</form>
</body>
</html>

بعد ذلك نضيف الكود التالي

public partial class _Default : System.Web.UI.Page
{
	protected void Page_Load(object sender, EventArgs e)
	{
		if (!IsPostBack)
		{
			Button1.Text = "X";
			Button2.Text = "Y";
		}
		Button1.Click += new System.EventHandler(this.Button_Click);
		Button2.Click += new System.EventHandler(this.Button_Click);
	}
	protected void Button_Click(object sender, EventArgs e)
	{
		Button btn =((Button)sender);
		if (btn.Text == "X")
		{
			btn.Text = "Y";
		}
		else
		{
			btn.Text = "X";
		}
	}
}

وهذا هو المشروع موجود مع المرفقات واذا كان هناك اي غموض فيرجى اعلامي

WebSite5.zip

تم تعديل هذه المشاركة بواسطة محمد سماقية في 8 ديسمبر 2007 في 13:59

-----------------------------------------------------------------------------------------------------------------------------





 

ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــ

Mohammad Sonaiea
 

#7

السلام عليكم

ياريت الكود يكون vb.net

الجزء الغير واضح هو :

(Button1.Click += new System.EventHandler(this.Button_Click;

Button2.Click += new System.EventHandler(this.Button_Click);

وايضاً

Button btn =((Button)sender);

سبحان الله وبحمده سبحان الله العظيم

#8

Button btn =((Button)sender);

الSender هو بارمتر تأخذه الدوال المربوطه بالاحداث ويحوي نسخه عن الاداه التي اطلقت الحدث

Button1.Click += new System.EventHandler(this.Button_Click;

هي طريقة ربط الحدث Click الخاص بالButton بدالة عن طريق الDelegate .

اي الطريقه الثانيه لكتابة الحدث في الMarkup الخاص بالصفحه كما في هذه الكود

<asp:Button ID="Button2" runat="server" OnClick="Button_Click" Text="Button" />

#9

مشكور اخ EnigmaOX

 
1-		Button1.Click += new System.EventHandler(this.Button_Click);
2-		Button2.Click += new System.EventHandler(this.Button_Click);

هذين السطرين من أجل ضافة عنوان الاجرائية Button_Click إيى حدث النقر Click الخاص بالزر أي بكلام آخر عند النقر على اي زر من زرين السابقين فسوف يتم تنفيذ الاجرائية Button_Click وهذه الطريقة تفيدنا من اجل بناء العناصر برمجية والتحكم بالاحداث الخاصة بها اما بالنسبة VB فيكون الشكل كتالي

AddHandler Me.Button1, AddressOf Me.Button_Click
AddHandler Me.Button2, AddressOf Me.Button_Click

	Button btn =((Button)sender);

من أجل هذا السطر برمجي هذه العملية هي عملية Casting والهدف من العملية هو التالي نحن نلاحظ ان الاجرائية Button_Click تنفذ عند النقر على احدى الزرين السابقين ونحن في مثالنا هذا نحتاج معرفة أي من الزرين السابقين الذي قام استدعاء الاجرائية السابقة أو أي زر تم النقر عليه لذلك نحن نجد ان الاجرائية Button_Click تملك paramter يسمى sender وهذا البرامتر يسند له عنوان أو refrence من احدى الزرين السابقين أي الزر الذي استدعى الاجرائية أو الذي نقر عليه ونحن نلاحظ ان sender من نوع أو من نمط Object وهذه الـclass وهو اب لجميع الكلاسات أي كلاس هو موروث من Object

ومادام Object هو الاب فأننا نستطيع وضع فيه أي object أو اي عنصر ولكن في هذه الحالة لدينا مشكلة كيف سوف نعرف من هو الـobject أو ماهو نوع الـobject لذلك نطر إلى عمل عملية Casting وذلك بوضع اسم الكلاس قبل الـobjectبالنسبة للـCasting في VBasic وهي

	btn As Button  =Ctype(sender,Button)

تم تعديل هذه المشاركة بواسطة محمد سماقية في 9 ديسمبر 2007 في 09:48

-----------------------------------------------------------------------------------------------------------------------------





 

ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــ

Mohammad Sonaiea
 

#10

السلام عليكم

حسب فهمي للسؤال وبدون تعقيد أظن انها تريد كالتالي

Private Sub Button1_MouseEnter(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.MouseEnter
		Button1.Text = "X"
	End Sub
	Private Sub Button1_MouseLeave(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.MouseLeave
		Button1.Text = "Y"
	End Sub
#11
abboppe كتب:
السلام عليكم

حسب فهمي للسؤال وبدون تعقيد أظن انها تريد كالتالي

Private Sub Button1_MouseEnter(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.MouseEnter
		Button1.Text = "X"
	End Sub
	Private Sub Button1_MouseLeave(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.MouseLeave
		Button1.Text = "Y"
	End Sub

انت شوف المشاركة منيح بتحس انو مو هاد المطلوب فقط لهيك حاولت اضع مثال شامل

-----------------------------------------------------------------------------------------------------------------------------





 

ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــ

Mohammad Sonaiea
 

#12

شكرا اخ محمد سماقية

هو ذلك مااريده

سبحان الله وبحمده سبحان الله العظيم

هذا الموضوع مغلق.

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…