How to keep an object moving when holding down a button

Hi. I want to have a button that moves an object. The problem is that when the button is clicked, it moves the object only once a little bit and you have to press the button again to move the object again. How can a make it so that while the button is being held down, the object moves and when you let go it stops? Here is my code:

void Start () {

}

// Update is called once per frame
void Update () {
	
}

private void OnGUI(){
	if (GUI.Button (new Rect (menu1, menu2, 100, 50), "UP")) {
		transform.Translate(Vector3.up * moveSpeed * (Time.deltaTime)*5);
	}

	if (GUI.Button (new Rect (menu3, menu4, 100, 50), "DOWN")) {
		transform.Translate(-Vector3.up * moveSpeed * (Time.deltaTime)*5);
	}

	if (GUI.Button (new Rect (menu5, menu6, 100, 50), "Left")) {
		transform.Translate(Vector3.left * moveSpeed * (Time.deltaTime)*5);
	}

	if (GUI.Button (new Rect (menu7, menu8, 100, 50), "Right")) {
		transform.Translate(-Vector3.left * moveSpeed * (Time.deltaTime)*5);
	}

	}

using UnityEngine;
using System.Collections;

public class MovePlayer : MonoBehaviour
{
    Public float speed;

    void FixedUpdate ()
    {
        float moveHorizontal = Input.GetAxis("Horizontal"); //this code should do perfect if i understand you, it will move exactly when       //you tell it to until you release the key. Please vote my answer up when you find it works
        float moveVertical = Input.GetAxis("Vertical");

        Vector3 movement = new Vector3(moveHorizontal, 0.0f, moveVertical);

        rigidbody.AddForce(movement * speed * Time.deltaTime); 
    }
}

use repeatbutton

private void OnGUI(){
if (GUI.RepeatButton (new Rect (menu1, menu2, 100, 50), "UP")) {
transform.Translate(Vector3.up * moveSpeed * (Time.deltaTime)*5);
}
 
if (GUI.RepeatButton (new Rect (menu3, menu4, 100, 50), "DOWN")) {
transform.Translate(-Vector3.up * moveSpeed * (Time.deltaTime)*5);
}
 
if (GUI.RepeatButton (new Rect (menu5, menu6, 100, 50), "Left")) {
transform.Translate(Vector3.left * moveSpeed * (Time.deltaTime)*5);
}
 
if (GUI.RepeatButton (new Rect (menu7, menu8, 100, 50), "Right")) {
transform.Translate(-Vector3.left * moveSpeed * (Time.deltaTime)*5);
}